我的Xml:
<?xml version="1.0" encoding="UTF-8"?>
<company>
<companyname>ABC company</companyname>
<address>xyz street, India.</address>
<department>
<dname>Marketing</dname>
<deptphoneno>9876543210</deptphoneno>
<deptfaxno>0442456879</deptfaxno>
<deptemail>marketing@abc.com</deptemail>
<employee>
<empid>101</empid>
<ename>Rishie</ename>
<emailid>rishie@abc.com</emailid>
<phoneno>9876543211</phoneno>
</employee>
<contractemployee>
<name>Ravi</name>
<phoneno>9874563214</phoneno>
</contractemployee>
</department>
</company>
和我的XSD:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="company">
<xs:complexType>
<xs:sequence>
<xs:element name="companyname" type="xs:string"/>
<xs:element name="address" type="xs:string"/>
<xs:element name="department">
<xs:complexType>
<xs:sequence>
<xs:element name="dname" type="xs:string"/>
<xs:element name="deptphoneno" type="xs:integer"/>
<xs:element name="deptfaxno" type="xs:integer"/>
<xs:element name="deptemail" type="xs:string"/>
<xs:element name="employee">
<xs:complexType>
<xs:sequence>
<xs:element name="empid" type="xs:integer"/>
<xs:element name="ename" type="xs:string"/>
<xs:element name="emailid" type="xs:string"/>
<xs:element name="phoneno" type="xs:integer"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="contractemployee">
<xs:complexType>
<xs:sequence>
<xs:element name="name" type="xs:string"/>
<xs:element name="phoneno" type="xs:integer"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
我知道乍一看一切看起来都正确......但我一直都会遇到一些错误!我希望有人可以帮我解决这个问题! 我不确定它是xml还是xsd。
错误:
Exception: cvc-complex-type.2.4.a: Invalid content was found starting with eleme
nt 'employee'. One of '{contractemployee}' is expected.
请使用我的XSD中的<xs:schema>
标记和xml中的<company>
来帮助我。
答案 0 :(得分:1)
***XML file-***
<?xml version="1.0" encoding="UTF-8"?>
<company>
<companyname>ABC</companyname>
<address>Mumbai</address>
<department>
<dname>IT</dname>
<deptphoneno>123</deptphoneno>
<deptfaxno>456</deptfaxno>
<deptemail>abc@gmail.com</deptemail>
<employee>
<empid>8</empid>
<ename>xyz</ename>
<emailid>xyz@gmail.com</emailid>
<phoneno>789</phoneno>
</employee>
</department>
<department>
<dname>EE</dname>
<deptphoneno>789</deptphoneno>
<deptfaxno>901</deptfaxno>
<deptemail>mno@gmail.com</deptemail>
<employee>
<empid>9</empid>
<ename>abc</ename>
<emailid>pqr@gmail.com</emailid>
<phoneno>567</phoneno>
</employee>
<contractemployee>
<name>asd</name>
<phoneno>234</phoneno>
</contractemployee>
</department>
</company>
***XSD file***
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="company">
<xs:complexType>
<xs:sequence>
<xs:element name="companyname" type="xs:string"/>
<xs:element name="address" type="xs:string"/>
<xs:element name="department" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="dname" type="xs:string"/>
<xs:element name="deptphoneno" type="xs:integer"/>
<xs:element name="deptfaxno" type="xs:integer"/>
<xs:element name="deptemail" type="xs:string"/>
<xs:element name="employee" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="empid" type="xs:integer"/>
<xs:element name="ename" type="xs:string"/>
<xs:element name="emailid" type="xs:string"/>
<xs:element name="phoneno" type="xs:integer"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="contractemployee" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="name" type="xs:string"/>
<xs:element name="phoneno" type="xs:integer"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
答案 1 :(得分:0)
您的XML对您的XSD有效。
问题中的错误消息不是由您在问题中使用XSD验证XML而产生的。
重新检查您发布的内容与您正在使用的内容之间的区别,这会给您带来问题。
另见