我试图用XSD检查XML,
但目前我收到此错误:
The Content Of 'null' Is Invalid. Element 'element' Is Invalid, Misplaced, Or Occurs Too Often.
我需要检查每个字段是否为空:ID,名称和属性数据?
我使用的XML:
<DataEXP>
<Item>
<!-- Unique ID for this product - only instance of this ID in whole feed -->
<ID>
<![CDATA[DM1054]]>
</ID>
<!-- In name included info, that differs this product from other products. Typical order is: BRAND type of product MODEL-->
<name>
<![CDATA[Apple iPhone]]>
</name>
<attributes>
<attribute>
<name>
<![CDATA[Functions]]>
</name>
<values>
<value>
<![CDATA[touchscreen]]>
</value>
<value>
<![CDATA[touchID]]>
</value>
</values>
</attribute>
</attributes>
</Item>
</DataEXP>
我使用的XSD:
<?xml version="1.0"?>
<!-- Created with Liquid Studio 2018 (https://www.liquid-technologies.com) -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:complexType>
<xs:element name="Item">
<xs:complexType>
<xs:sequence>
<xs:element name="ID" type="xs:string" minOccurs="0" maxOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:complexType>
</xs:schema>
如果有人能在XSD中找到错误,谢谢
您的XSD不正确,并且由于它非常严格,因此需要更多字段才能正确验证XML对XSD的影响。
我设置了一个非常小的XSD版本,可以正确验证您的XML而不会出错。请记住,我还没有检查项目可以发生的次数(值中的值除外),以及它们的类型:
<?xml version="1.0"?>
<!-- Created with Liquid Studio 2018 (https://www.liquid-technologies.com) -->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="DataEXP">
<xs:complexType>
<xs:sequence>
<xs:element name="Item">
<xs:complexType>
<xs:sequence>
<xs:element name="ID"/>
<xs:element name="name"/>
<xs:element name="attributes">
<xs:complexType>
<xs:sequence>
<xs:element name="attribute">
<xs:complexType>
<xs:sequence>
<xs:element name="name"/>
<xs:element name="values">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="value"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>