我一直是MOXy的一个对象映射器,它可以使用XPath通过注释将变量从一个对象或XML Web服务响应映射到另一个对象。
(https://www.eclipse.org/eclipselink/documentation/2.4/moxy/advanced_concepts005.htm)。这是一个例子:
@XmlPath("node[@name='first-name']/text()")
private String firstName;
但是它不支持xpath'parent'(EclipseLink MOXy @XmlPath support for axes/parent)或'child'(eclipselink moxy xpath - selecting all child elements of the current node or all elements in a document with a particular name)检查。
ie:这是我希望能够做的一个例子:
XML:
<Customer>
<Field>
<Type>Code</Type>
<Value>abc</Value>
</Field>
<Field>
<Type>Name</Type>
<Value>cde</Value>
</Field>
...
</Customer>
爪哇
@XmlPath("Customer/Field[child::Type='Code']/Value/text()")
private String CustomerCode;
是否有解决MOXy或添加库以进行父/子检查的工作?