这些是我的简单XSD和XML文件,我一直在为“数据”节点获取cvc-elt.1。
这是XML
<?xml version="1.0" encoding="UTF-8" ?>
<data xmlns="http://www.w3schools.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="https://www.w3schools.com/xml {FULL_PATH}/car_designer.xsd">
<car_designer id="1" designer_name="A C Bertelli"/>
<car_designer id="2" designer_name="Adam Ty Dean Smith"/>
</data>
这是XSD
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="https://www.w3schools.com"
xmlns="https://www.w3schools.com"
elementFormDefault="qualified">
<xs:element name="data">
<xs:complexType>
<xs:sequence>
<xs:element name="car_designer" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="id" type="xs:int"></xs:attribute>
<xs:attribute name="designer_name" type="xs:string"></xs:attribute>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
答案 0 :(得分:1)
问题在于XML文件中的默认名称空间是http://www.w3schools.com
,但是架构中的targetNamespace是https://www.w3schools.com
。
请注意uri中http
和https
之间的区别。如果将XML中的命名空间更改为https(xmlns="https://www.w3schools.com"
),则该命名空间应该可以使用。
答案 1 :(得分:1)
我只是注意到有时,即使一切正常,也只是使用IDE来显示此错误。
在我的情况下,我要做的是进入一个声明正常的文件,复制标题并将其替换为错误,现在一切正常。