【发布时间】:2016-08-04 12:44:50
【问题描述】:
关于解组事件,例如“2:31.cvc-elt.1:找不到元素 'ns:users' 的声明。”发生
Users.java
@XmlRootElement(namespace = "com.data")
public class Users {
@XmlElement(name = "user")
private List<User> userList = new ArrayList<User>();
.
.
用户.java
@XmlRootElement(name = "user")
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(propOrder = {"first", "last", "passes"})
public class User {
private String first;
private String last;
@XmlElement(name = "pass")
private String[] passes;
.
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>
验证.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 文件。
【问题讨论】:
标签: java xml xsd xsd-validation