一、问题描述
手起刀落,杂症全消,大家好,今天给大家分享的是关于XML中创建Schema文档,关联时出现Schema为空的问题,具体描述截图如下:
二、问题代码
xsd文档:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:complexType name="prdata">
<xs:sequence>
<xs:element name="PRODUCT" type="prdt"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="prdt">
<xs:sequence>
<xs:element name="PRODUCTNAME" type="xs:string"/>
<xs:element name="DESCRIPTION" type="xs:string"/>
<xs:element name="PRICE" type="xs:positiveInteger"/>
<xs:element name="QUANTITY" type="xs:nonNegativeInteger"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
xml文档:
<?xml version="1.0" encoding="UTF-8"?>
<PRODUCTDATA xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="E:\XML\Schema\PRODUCT.xsd">
<PRODUCT>
<PRODUCTNAME>飞机贸易</PRODUCTNAME>
<DESCRIPTION>外贸出口贸易</DESCRIPTION>
<PRICE>15</PRICE>
<QUANTITY>9</QUANTITY>
</PRODUCT>
</PRODUCTDATA>
三、问题分析
- 你首先看看Schema中定义的元素名字是不是写错啦;
- 其次看看xml文档中写的元素名是不是和schema中定义的一样;
- 看看xml文档的结构是不是完全符合schema文档定义的结构,比如没有声明根元素之类的;
以上问题都会导致出现的该种错误。
四、正确代码
xsd文档(只有xsd中出现错误):
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="PRODUCTDATA" type="prdata"/>
<xs:complexType name="prdata">
<xs:sequence>
<xs:element name="PRODUCT" type="prdt"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="prdt">
<xs:sequence>
<xs:element name="PRODUCTNAME" type="xs:string"/>
<xs:element name="DESCRIPTION" type="xs:string"/>
<xs:element name="PRICE" type="xs:positiveInteger"/>
<xs:element name="QUANTITY" type="xs:nonNegativeInteger"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
我的代码出现以上问题是由于schema中没有声明根元素,但编译器产生以上错误大致原因在问题分析中已经罗列,请您自己再检查一下自己的代码吧,加油亲。