[英]XML Schema from XML file for vb.net datatable
好的,所以甚至不确定如何问这个问题,但是我正在寻求有关如何创建XML模式文件的帮助,以便在将XML文件加载到基于所述模式的数据集中时,表中的数据与我一样。希望是这样。
这是XML数据:
<Cabinet>
<Name>DANCE</Name>
<MappedTypes>
<TypeMapInfo>
<TypeName>HIP HOP</TypeName>
<DefaultInstitution />
<DefaultAuthority>511</DefaultAuthority>
<DefaultDocumentName />
</TypeMapInfo>
<TypeMapInfo>
<TypeName>JITTERBUG</TypeName>
<DefaultInstitution />
<DefaultAuthority>511</DefaultAuthority>
<DefaultDocumentName />
</TypeMapInfo>
</MappedTypes>
</Cabinet>
基本上,我希望它显示在数据表中:
Cabinet | Type Name | DefaultInstitution | DefaultAuthority | DefaultDocumentName
Dance | HIP HOP | | 511 |
Dance | JITTERBUG | | 511 |
到目前为止,这就是我所拥有的,但是它只加载柜子下面列出的第一个类型名称:
<xs:element maxOccurs="unbounded" name="Cabinet">
<xs:complexType>
<xs:sequence>
<xs:element name="Name" type="xs:string" />
<!--<xs:element name="MappedTypes"/>
<xs:element name="TypeMapInfo"/>-->
<xs:element name="TypeName" type="xs:string" />
<xs:element name="DefaultInstitution" type="xs:string" />
<xs:element name="DefaultAuthority" type="xs:unsignedShort" />
<xs:element name="DefaultDocumentName" />
</xs:sequence>
</xs:complexType>
</xs:element>
如果您希望xml对它有效,则必须更正xsd,可能您的数据表仅显示<Name>
元素,因为这是xsd中唯一为xml定义的元素。
以下xsd适合您的xml尝试一下:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns="http://your_namespace"
targetNamespace="http://your_namespace"
elementFormDefault="qualified"
attributeFormDefault="unqualified">
<xs:element name="Cabinet" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="Name" type="xs:string"/>
<xs:element name="MappedTypes">
<xs:complexType>
<xs:sequence>
<xs:element name="TypeMapInfo" maxOccurs="unbounded" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:element name="TypeName" type="xs:string"/>
<xs:element name="DefaultInstitution" type="xs:string"/>
<xs:element name="DefaultAuthority" type="xs:unsignedShort"/>
<xs:element name="DefaultDocumentName" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
编辑:
我查看了您的问题并再次阅读了您的评论,我意识到也许您在寻找适合您XSD的XML而不是适合您XML的XSD,因为我在第一次尝试时就做出了回应。 因此,如果您有一个类似的XSD:
<xs:element maxOccurs="unbounded" name="Cabinet">
<xs:complexType>
<xs:sequence>
<xs:element name="Name" type="xs:string" />
<xs:element name="TypeName" type="xs:string" />
<xs:element name="DefaultInstitution" type="xs:string" />
<xs:element name="DefaultAuthority" type="xs:unsignedShort" />
<xs:element name="DefaultDocumentName" />
</xs:sequence>
</xs:complexType>
</xs:element>
您必须将XML更改为:
<Cabinet>
<Name>DANCE</Name>
<TypeName>HIP HOP</TypeName>
<DefaultInstitution/>
<DefaultAuthority>511</DefaultAuthority>
<DefaultDocumentName/>
</Cabinet>
<Cabinet>
<Name>DANCE</Name>
<TypeName>JITTERBUG</TypeName>
<DefaultInstitution/>
<DefaultAuthority>511</DefaultAuthority>
<DefaultDocumentName/>
</Cabinet>
希望这可以帮助,
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.