在使用jaxb的时候如果碰到命名空间的问题(ns2..nsN 为前缀的命名空间),相信已经让很多人头疼过了。
对于xml文档存在多个命名空间的时候,同时又存在命名空间前缀的情况,如下所示:
xml内容:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<teacher xmlns:f1="I'm fake namespace1" xmlns:f3="I'm fake namespace3" xmlns:f2="I'm fake namespace2">
<student name="zhangsan1" age="10"/>
<student name="zhangsan2" age="20"/>
<student name="zhangsan3" age="30"/>
<classes cno="no.1" number="10"/>
<classes cno="no.2" number="20"/>
<classes cno="no.3" number="30"/>
</teacher>
通过在package下添加package-info.java以解决从javabean–>xml的解析的情况,
package-info.java:
@XmlSchema(xmlns = { @XmlNs(namespaceURI = "I'm fake namespace1",prefix="f1"),@XmlNs(namespaceURI = "I'm fake namespace2",prefix="f2"),@XmlNs(namespaceURI = "I'm fake namespace3",prefix="f3")})
package face;
import javax.xml.bind.annotation.XmlSchema;
import javax.xml.bind.annotation.XmlNs;
未完待续