2016-02-05 530 views
-4

我一直是MOXy的一個對象映射器,它可以使用XPath從一個對象映射變量或通過註釋將XML Web服務響應映射到另一個對象。 (https://www.eclipse.org/eclipselink/documentation/2.4/moxy/advanced_concepts005.htm)。這裏有一個例子:XML的對象映射 - MOXy

@XmlPath("node[@name='first-name']/text()") 
private String firstName; 

但是它不支持XPath的 '父'(EclipseLink MOXy @XmlPath support for axes/parent)或 '兒童'(eclipselink moxy xpath - selecting all child elements of the current node or all elements in a document with a particular name)檢查。

即:這是什麼,我希望能夠做一個例子:

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; 

有周圍的工作,以莫西或增加在父母/孩子檢查的圖書館?

+1

在哪個方向,你要映射工作:XML - > Java或Java - > XML? –

+1

-1:問題要求我們推薦或找到一本書,工具,**軟件庫**,教程或其他非本地資源,因爲它們傾向於吸引自以爲是的答案和垃圾郵件,所以不適合堆棧溢出。相反,請描述問題以及到目前爲止解決問題所做的工作。 *賞金保存關閉*。 – mico

+0

@Dimitre:從XML - > Java。 – JackDev

回答

1

有很多圖書館。其中一些是:
1. JiBX
2. XStream
3. JAXB
4. XMLBeans

XStream的使用廣泛,相當不錯

+1

請不要回答詢問工具或圖書館建議的問題。回答它們會鼓勵人們提出這類問題,而這些問題在Stackoverflow上是無關緊要的。相反,舉報或投票結束這些問題。 –