【发布时间】:2016-05-14 20:54:26
【问题描述】:
我一直是 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>
Java
@XmlPath("Customer/Field[child::Type='Code']/Value/text()")
private String CustomerCode;
是否有解决 MOXy 或添加库以进行父/子检查的方法?
【问题讨论】:
-
您希望映射在哪个方向工作:XML --> Java,还是 Java --> XML?
-
-1:要求我们推荐或查找书籍、工具、软件库、教程或其他场外资源的问题对于 Stack Overflow 来说是无关紧要的,因为它们往往吸引固执己见的答案和垃圾邮件。相反,请描述问题以及迄今为止为解决该问题所做的工作。 为关闭而保存的赏金.
-
@Dimitre:来自 XML --> Java。
-
@Mico:我要问的是一种使用 MOXy 实现这一目标的方法,我对此进行了很多研究(在帖子中引用了 url),但没有找到任何解决方案。如果可以在 MOXy 中完成会很好,但如果有其他建议,我愿意接受。我会改写我的问题。
标签: java xpath annotations mapping moxy