久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

<small id='mVcDT'></small><noframes id='mVcDT'>

    <legend id='mVcDT'><style id='mVcDT'><dir id='mVcDT'><q id='mVcDT'></q></dir></style></legend>
  1. <tfoot id='mVcDT'></tfoot>

    • <bdo id='mVcDT'></bdo><ul id='mVcDT'></ul>
  2. <i id='mVcDT'><tr id='mVcDT'><dt id='mVcDT'><q id='mVcDT'><span id='mVcDT'><b id='mVcDT'><form id='mVcDT'><ins id='mVcDT'></ins><ul id='mVcDT'></ul><sub id='mVcDT'></sub></form><legend id='mVcDT'></legend><bdo id='mVcDT'><pre id='mVcDT'><center id='mVcDT'></center></pre></bdo></b><th id='mVcDT'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='mVcDT'><tfoot id='mVcDT'></tfoot><dl id='mVcDT'><fieldset id='mVcDT'></fieldset></dl></div>

    1. 從 XML 文件推斷的 XmlSchema - 如何遍歷 XSD 中的所有

      XmlSchema inferred from an XML file - how to iterate through all the elements in the XSD?(從 XML 文件推斷的 XmlSchema - 如何遍歷 XSD 中的所有元素?)
      <legend id='w01Hv'><style id='w01Hv'><dir id='w01Hv'><q id='w01Hv'></q></dir></style></legend>

      • <bdo id='w01Hv'></bdo><ul id='w01Hv'></ul>
        1. <i id='w01Hv'><tr id='w01Hv'><dt id='w01Hv'><q id='w01Hv'><span id='w01Hv'><b id='w01Hv'><form id='w01Hv'><ins id='w01Hv'></ins><ul id='w01Hv'></ul><sub id='w01Hv'></sub></form><legend id='w01Hv'></legend><bdo id='w01Hv'><pre id='w01Hv'><center id='w01Hv'></center></pre></bdo></b><th id='w01Hv'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='w01Hv'><tfoot id='w01Hv'></tfoot><dl id='w01Hv'><fieldset id='w01Hv'></fieldset></dl></div>

            <small id='w01Hv'></small><noframes id='w01Hv'>

                <tbody id='w01Hv'></tbody>

              <tfoot id='w01Hv'></tfoot>
                本文介紹了從 XML 文件推斷的 XmlSchema - 如何遍歷 XSD 中的所有元素?的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

                問題描述

                限時送ChatGPT賬號..

                我有一個 XML 文件,我正在使用 XmlSchemaInference 類在運行時推斷其 XSD 架構.

                I have an XML file and I'm inferring its XSD schema in run-time, using the XmlSchemaInference class.

                示例文件:

                <products>
                    <product id="1" name="t-shirt">
                        <size name="medium"/>
                        <size name="large"/>
                        <price>
                            <net>10</net>
                            <gross>25</gross>
                        </price>
                    </product>
                    <product id="2" name="computer mouse">  
                        <price>
                            <net>50</net>       
                        </price>
                    </product>
                </products>
                

                它確實有效 - 它很好地推斷了架構:

                It does work - it infers the schema nicely:

                <?xml version="1.0"?>
                <xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
                  <xs:element name="products">
                    <xs:complexType>
                      <xs:sequence>
                        <xs:element maxOccurs="unbounded" name="product">
                          <xs:complexType>
                            <xs:sequence>
                              <xs:element minOccurs="0" maxOccurs="unbounded" name="size">
                                <xs:complexType>
                                  <xs:attribute name="name" type="xs:string" use="required" />
                                </xs:complexType>
                              </xs:element>
                              <xs:element name="price">
                                <xs:complexType>
                                  <xs:sequence>
                                    <xs:element name="net" type="xs:unsignedByte" />
                                    <xs:element minOccurs="0" name="gross" type="xs:unsignedByte" />
                                  </xs:sequence>
                                </xs:complexType>
                              </xs:element>
                            </xs:sequence>
                            <xs:attribute name="id" type="xs:unsignedByte" use="required" />
                            <xs:attribute name="name" type="xs:string" use="required" />
                          </xs:complexType>
                        </xs:element>
                      </xs:sequence>
                    </xs:complexType>
                  </xs:element>
                </xs:schema>
                

                問題是:

                如何迭代(遞歸?)通過此架構中的所有元素?XmlSchemaSet 類如何存儲它們?我需要將它們呈現給用戶,以便他們可以進行一些映射.

                How can I iterate (recursively?) through all the elements from this schema? How are they stored by the XmlSchemaSet class? I need to present them to the user so they can do some mapping.

                我正在從 XmlSchemaSet.Schemas 屬性中檢索 XmlSchema,然后呢?XmlSchema.Elements 只包含一項(products),我找不到任何方法來查找它的子元素是什么.

                I am retrieving an XmlSchema from XmlSchemaSet.Schemas property, and then what? XmlSchema.Elements only contains one item (products), and I can't find any way to look up what its subelements are.

                推薦答案

                好的!沒有答案,也沒有太大的興趣——我自己想出來的.

                Okay! No answer and not much interest - I figured it out on my own.

                我使用了我在谷歌上搜索的這篇 MSDN 文章中的代碼:遍歷 XML 模式

                I used code from this MSDN article I googled up: Traversing XML Schemas

                我的遞歸解決方案就是以此為基礎的.

                And I based my recursive solution on it.

                void PrintSchema(string xmlFilePath)
                {
                    var schemaSet = new XmlSchemaInference().InferSchema(XmlReader.Create(xmlFilePath));
                    foreach (XmlSchemaElement element in schemaSet
                        .Schemas()
                        .Cast<XmlSchema>()
                        .SelectMany(s => s.Elements.Values.Cast<XmlSchemaElement>()))
                    {
                        Debug.WriteLine(element.Name + " (element)");
                        IterateOverElement(element.Name, element);
                    }
                }
                
                void IterateOverElement(string root, XmlSchemaElement element)
                {
                    var complexType = element.ElementSchemaType as XmlSchemaComplexType;
                    if (complexType == null) 
                    {
                        return;
                    }
                    if (complexType.AttributeUses.Count > 0)
                    {
                        var enumerator = complexType.AttributeUses.GetEnumerator();
                        while (enumerator.MoveNext())
                        {
                            var attribute = (XmlSchemaAttribute)enumerator.Value;
                            Debug.WriteLine(root + "." + attribute.Name + " (attribute)");
                        }
                    }
                    var sequence = complexType.ContentTypeParticle as XmlSchemaSequence;
                    if (sequence == null) 
                    {
                        return;
                    }
                    foreach (XmlSchemaElement childElement in sequence.Items)
                    {
                        root += String.Concat(".", childElement.Name);
                        Debug.WriteLine(root + " (element)");
                        // recursion
                        IterateOverElement(root, childElement);
                    }
                }
                

                輸出為:

                products (element)
                products.product (element)
                products.product.id (attribute)
                products.product.name (attribute)
                products.product.size (element)
                products.product.size.name (attribute)
                products.product.price (element)
                products.product.price.net (element)
                products.product.price.gross (element)
                

                我讓你來判斷這個 API 的友好程度,特別是考慮到這些特定類的 MSDN 文檔是多么稀缺.感謝您提出任何意見或見解.

                I leave to you to judge how friendly this API is, especially given how scarce is the MSDN documentation on these particular classes. Any comments or insights are appreciated.

                這篇關于從 XML 文件推斷的 XmlSchema - 如何遍歷 XSD 中的所有元素?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

                【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

                相關文檔推薦

                What are good algorithms for vehicle license plate detection?(車牌檢測有哪些好的算法?)
                onClick event for Image in Unity(Unity中圖像的onClick事件)
                Running Total C#(運行總 C#)
                Deleting a directory when clicked on a hyperlink with JAvascript.ASP.NET C#(單擊帶有 JAvascript.ASP.NET C# 的超鏈接時刪除目錄)
                asp.net listview highlight row on click(asp.net listview 在單擊時突出顯示行)
                Calling A Button OnClick from a function(從函數調用按鈕 OnClick)

                  <tbody id='odcRC'></tbody>

                • <tfoot id='odcRC'></tfoot>
                    <legend id='odcRC'><style id='odcRC'><dir id='odcRC'><q id='odcRC'></q></dir></style></legend>
                    • <small id='odcRC'></small><noframes id='odcRC'>

                      1. <i id='odcRC'><tr id='odcRC'><dt id='odcRC'><q id='odcRC'><span id='odcRC'><b id='odcRC'><form id='odcRC'><ins id='odcRC'></ins><ul id='odcRC'></ul><sub id='odcRC'></sub></form><legend id='odcRC'></legend><bdo id='odcRC'><pre id='odcRC'><center id='odcRC'></center></pre></bdo></b><th id='odcRC'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='odcRC'><tfoot id='odcRC'></tfoot><dl id='odcRC'><fieldset id='odcRC'></fieldset></dl></div>

                          <bdo id='odcRC'></bdo><ul id='odcRC'></ul>

                          主站蜘蛛池模板: 欧美中文字幕一区二区三区亚洲 | 亚洲日本视频 | 热re99久久精品国99热观看 | 免费观看黄 | 免费看a | 91资源在线 | 国产高清一区二区三区 | 国产福利久久 | 日韩欧美国产精品一区二区 | 久久亚洲综合 | 一区欧美| 在线激情视频 | 依人成人 | 国产精品一区二区三区在线 | 成人精品一区 | 欧美 日韩 综合 | 黄色免费看 | 精品日韩在线 | 午夜精品一区二区三区在线视频 | 亚洲男人网 | 国产精品亚洲综合 | 欧美专区在线视频 | 精品一区二区视频 | 国产精品一区二区日韩 | 午夜精品久久久久久久久久久久久 | 国产91久久精品一区二区 | 91电影| 男女深夜网站 | 欧美日本高清 | 一级黄色片毛片 | 亚洲成人精品一区二区 | 一级在线免费观看 | 一级做受毛片免费大片 | 免费a级毛片在线播放 | 国产精品激情小视频 | 国产一区二区精品在线观看 | 午夜寂寞影院在线观看 | 久久视频精品在线 | 日本不卡高清视频 | 欧美成人一区二免费视频软件 | 91色站|