2015-10-19 63 views
0

我正在使用MOXy將對象編組爲xml。 我想有映射爲子元素的兩個屬性每一個第二鑑別元件(未屬性)是這樣的:MOXy @XmlPath子元素文本

<person> 
    <name> 
     <type>First</type> 
     <value>John</value> 
    </name> 
    <name> 
     <type>Last</type> 
     <value>Smith</value> 
    </name> 
</person> 

我們班裏有這樣映射:

@XmlRootElement 
    public class Person { 
     @XmlPath("name[type/text()='First']/value/text()") 
     private String fistName; 
     @XmlPath("name[type/text()='Last']/value/text()") 
     private String lastName; 
    } 

我出現以下錯誤:

Exception [EclipseLink-25016] (Eclipse Persistence Services - 2.5.2.v20140319-9ad6abd): org.eclipse.persistence.exceptions.XMLMarshalException 
Exception Description: A namespace for the prefix type/ns0:text() was not found in the namespace resolver. 

我也嘗試添加命名空間的XPath和異常被拋出沒有,但是類型元素是不存在的XML。

通常當我想和屬性,而不是元素要做到這一點,我映射:

@XmlPath("name[@type='First']/value/text()") 
private String fistName; 
@XmlPath("name[@type='Last']/value/text()") 
private String lastName; 

它完美的作品,有沒有辦法讓我用一個簡單的XPath預期的結果?

回答

0

在你的xml中,你有兩個元素「First」,你可以試試First和Last嗎?

+0

對不起,這是一個錯誤的問題。如你所說,我的意圖是要有First和Last,我編輯了這個問題。 – jcfandino

相關問題