MOXy中是否支持以下XPath表达式?
field[XMLtag!='identifier']
基本上我有这样的XML
<demographics>
<field>
<value>12345</value>
<XMLtag>identifier</XMLtag>
</field>
<field>
<value>somename</value>
<XMLtag>name</XMLtag>
</field>
</demographics>
我正在尝试填充List以填充但不包括用于标识符的字段。
这会有用,但会在List
(正确)
@XmlElement( name = "field" )
public List<Field2> fieldList;
这不会,我得到一个空的List
@XmlPath( "field[XMLtag!='identifier']" )
public List<Field2> fieldList;
如果上述工作,或MOXy不支持的表达式?我似乎无法找到有关它们的任何信息。
我没有包含我的Field2类,因为它非常简单,显然工作正常,因为如果使用@XmlElement
注释我可以解组列表。如果您愿意,请告诉我。
答案 0 :(得分:2)
EclipseLink JAXB (MOXy)&#39; @XmlPath
注释支持XPath规范的子集。 XPath处理由MOXy本身完成。支持以下概念:
@id
address
address[1]
address[@type='mailing']
name/text()
text()
.
personal-info/name[2]/text()
对于名称空间限定的节点,@XmlNs
注释中定义的前缀可用于限定XPath片段。假定未限定的片段位于使用@XmlSchema
指定的命名空间中。