JAXB:如何使用XML中声明的名称空间解组XML?

时间:2016-12-09 15:26:57

标签: java xml namespaces jaxb

我正在尝试使用JAXB解析带有名称空间的XML。

XML具有以下示例结构:

<?xml version="1.0" encoding="UTF-8"?>
<myns:root attr1="val1" attr2="val2" xmlns:myns="http://host.domain/sample/test">
    <myns:child anotherNs:attr="myns:element" attr3="val3" xmlns:anotherNs="http://host.domain/sample2/test2">
    </myns:child>
</myns:root>

我想创建一个Root类和一个Child类,这样两个名称空间“myns”和“anotherNs”将自动识别为名称空间。

我想了解是否有办法“指示”JAXB两个特定属性(在我的例子中,“xmlns:myns”和“xmlns:anotherNs”)是必须在编组中使用的名称空间/解组过程。

可能吗?如果是,可能的实施方式如何?

这里是部分Root类:

@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class Root {
    private String attr1;
    private String attr2;
    private String xmlnsMyns; // what to do here with this attribute??
}

这里是部分Child类:

@XmlAccessorType(XmlAccessType.FIELD)
public class Child {
    private String anotherNsAttr; // What to do with this attribute??
    private String attr3;
    private String xmlnsAnotherNs; // what to do here with this attribute??
}

提前致谢。

0 个答案:

没有答案