[英]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.