XSD实用程序,用于将XML转换为XSD和其他不需要的字段



我已经使用XSD实用程序来转换我拥有的XML块:

<parentsets>
<set name="aaa">
<GroupSet name="GS1" >
  <Group>Group1</Group>
  <Group>Group2</Group>
  <Group>Group3</Group>
</GroupSet>
<GroupSet name="GS2" >
  <Group>Group4</Group>
  <Group>Group5</Group>
  <Group>Group6</Group>
</GroupSet>
</set>
</parentsets>

我运行创建XSD文件的XSD实用程序。然后再次运行该实用程序,将XSD转换为c# sharp模型(.cs)。

问题是很多我认为是"噪音"的东西正在被制造出来。首先,XSD实用程序似乎第一次为XSD文件创建了一些额外的字段,标签为"itemsField"。

然后还有只能被描述为重复分支的东西,例如,父节点'pollingsets'在标签为'pollingsetsSet'的情况下再次创建。其他节点如"Group"变成"GroupField"。总而言之,生成的XSD完全是一团糟。

我不确定我在这里错过了什么,也许在运行XSD实用程序之前需要在XML中进行一些设置?

我的目标是创建一个与我的XML模式匹配的模型。然后加载XML文档并将其传递给相应的模型,该模型由某些业务逻辑使用。因此,为什么我试图沿着转换到XSD的路线,然后使用相同的XSD实用程序转换到。cs文件。

谢谢。


更新

XSD示例:

    <?xml version="1.0" encoding="utf-8"?>
    <xs:schema id="parentsets" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
     <xs:element name="parentsets" msdata:IsDataSet="true" msdata:Locale="en-US">
    <xs:complexType>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element name="set">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="GroupSet" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="Group" nillable="true" minOccurs="0" maxOccurs="unbounded">
                      <xs:complexType>
                        <xs:simpleContent msdata:ColumnName="Group_Text" msdata:Ordinal="0">
                          <xs:extension base="xs:string">
                          </xs:extension>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                  <xs:attribute name="name" type="xs:string" />
                </xs:complexType>
              </xs:element>
            </xs:sequence>
            <xs:attribute name="name" type="xs:string" />
          </xs:complexType>
        </xs:element>
      </xs:choice>
    </xs:complexType>
  </xs:element>
    </xs:schema>

我决定使用通过google搜索找到的一个免费的在线XML到XSD转换器,它似乎帮助清理了XSD实用程序所带来的一些噪音/混乱。

最新更新