我在写下XML文件的架构方面遇到了一些问题,这很简单。
正如我所建议的那样,我尝试使用其他代码(我将其删除了,因为如果我搞乱了所有内容,我就无法解除代码......):
我无法弄清楚我的架构的问题在哪里:
<?xml version="1.0"
standalone="yes"?>
<ChangeHistory xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<xs:schema id="ChangeHistory"
xmlns=""
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xs:element name="ChangeHistory"
msdata:IsDataSet="true"
msdata:MainDataTable="Version"
msdata:UseCurrentLocale="true">
<xs:complexType>
<xs:element name="Versions">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element name="Version">
<xs:complexType>
<xs:sequence>
<xs:element name="Edits">
<xs:complexType>
<xs:sequence>
<xs:element name="Edit">
<xs:complexType>
<xs:attribute name="Content" type="xs:string" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="Id" type="xs:string" />
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:complexType>
</xs:element>
</xs:schema>
<Versions>
<Version Id="1.0.5 - Coming next!">
<Edits>
<Edit Content="Bla bla 1" />
<Edit Content="Bla bla bla" />
</Edits>
</Version>
<Version Id="1.0.4 - Coming soon!">
<Edits>
<Edit Content="First edit of the version" />
<Edit Content="Second edit of the version" />
</Edits>
</Version>
</Versions>
</ChangeHistory>
这个XML是从.NET DataSet生成的,我认为问题在于内部(所以外部部分是正确的!)这个元素:
<xs:schema id="ChangeHistory"
xmlns=""
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
版本和编辑元素的所有属性都属于xs:string
类型。
任何帮助将不胜感激,谢谢。
答案 0 :(得分:3)
只需使用从Visual Studio 20120 XSD工具生成的此架构:
<xs:schema id="ChangeHistory"
xmlns=""
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xs:element name="ChangeHistory"
msdata:IsDataSet="true"
msdata:MainDataTable="Version"
msdata:UseCurrentLocale="true">
<xs:complexType>
<xs:choice minOccurs="0"
maxOccurs="unbounded">
<xs:element name="Versions">
<xs:complexType>
<xs:sequence>
<xs:element name="Version"
minOccurs="0"
maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="Edits"
minOccurs="0"
maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="Edit"
minOccurs="0"
maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="Content"
type="xs:string" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="Id"
type="xs:string" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>