2016-08-04 90 views
0

解組事件,如「2:31。cvc-elt.1:找不到元素'ns:users'的聲明」。發生XML,XSD,cvc-elt.1:找不到元素的聲明

Users.java

@XmlRootElement(namespace = "com.data") 
public class Users { 
    @XmlElement(name = "user") 
    private List<User> userList = new ArrayList<User>(); 
. 
. 

User.java

​​

Accounts.xml

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<ns:users xmlns:ns="com.data"> 
    <user> 
     <first>John</first> 
     <last>Dou</last> 
     <pass>10223544</pass> 
    </user> 
    <user> 
     <first>Leroy</first> 
     <last>Jenkins</last> 
     <pass>dQ112aDf</pass> 
    </user> 
</ns:users> 

Validation.xsd

<?xml version="1.0" encoding="UTF-8"?> 
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"> 
    <xs:element name="users"> 
     <xs:complexType> 
      <xs:sequence> 
       <xs:element maxOccurs="unbounded" ref="user"/> 
      </xs:sequence> 
     </xs:complexType> 
    </xs:element> 

    <xs:element name="user"> 
     <xs:complexType> 
      <xs:sequence> 
       <xs:element name="first"/> 
       <xs:element name="last"/> 
       <xs:element name="pass" maxOccurs="2"/> 
      </xs:sequence> 
     </xs:complexType> 
    </xs:element> 

</xs:schema> 

注意:如果可能xml文件與數據'帳戶'不應該被改變。

回答

0

您的XML位於名稱空間com.data中,但您的模式不會在該名稱空間中聲明元素。

targetNamespace="com.data"添加到您的xs:schema元素。

相關問題