我有一个来自第三部分的xml。
<cts:element-value-query weight="0">
<cts:element xmlns:_1="entitlement:AAA">_1:Entitlement</cts:element>
<cts:text xml:lang="en">TEST</cts:text>
</cts:element-value-query>
或:
<cts:element-value-query weight="0">
<cts:element xmlns:_1="entitlement:BBB">_1:Entitlement</cts:element>
<cts:text xml:lang="en">CASE</cts:text>
</cts:element-value-query>
我想将XML解组到Java bean:
@XmlRootElement(name = "element-value-query", namespace= "http://marklogic.com/cts")
@XmlAccessorType(XmlAccessType.FIELD)
public class Query4ElementValue {
@XmlElement(name= "element", namespace="entitlement:AAA")
private String element;
private String text;
}
我可以获得正确的文本值,但是对于element
,始终为空。
[element=null, text=TEST]
那我该怎么办?
答案 0 :(得分:0)
此:
<cts:element xmlns:_1="entitlement:AAA">_1:Entitlement</cts:element>
是element
命名空间中名称为cts
的元素。
您的映射:
@XmlElement(name= "element", namespace="entitlement:AAA")
private String element;
在带有URI element
的命名空间中期望名称为entitlement:AAA
的元素。可能不是您提供的cts
名称空间。
如果您对将_1:Entitlement
绑定到_1
或entitlement:AAA
的{{1}}感兴趣,请将元素的类型更改为entitlement:BBB
。