2012-01-27 144 views
1

有沒有辦法將XML消息的一部分解析爲字符串,並將其保存爲XML格式?JAXB - 將元素解析爲字符串

例...

<person> 
    <name>John Doe</name> 
    <age>24</age> 

    <address> 
    <street>bailey</street> 
    <city>boston</city> 
    </address> 
</person> 

public class Person { 

    @XmlElement 
    private NameClass name; 

    @XmlElement 
    private int age; 

    @XmlElement 
    private String address; 

    ... 
} 

public class NameClass { 
    ... 
} 

,我想整個地址元素被保留在XML格式和解析爲一個字符串。

+0

[JAXB採取元素的所有內容(包括標籤和文本)(http://stackoverflow.com/問題/ 7736678),[如何使用JAXB按原樣讀取和寫入XML元素](http://stackoverflow.com/questions/8298433),[使用JAXB將XML數據作爲字符串獲取到子節點中]( (使用JAXB提取XML元素的內部文本](http://stackoverflow.com/questions/5537416),[具有「未知」名稱的JAXB映射元素](h TTP://stackoverflow.com/questions/4278546)。尊重** @ BlaiseDoughan **。 – 2012-01-28 13:04:09

+0

[JAXB可能重複取所有元素的內容(包括標籤和文本)](http://stackoverflow.com/questions/7736678/jaxb-take-all-content-of-element-both-tags-and-text ) – 2012-01-31 17:30:18

回答

2

可以使用@XmlAnyElement與DomHandler:

+0

我收到錯誤,試圖編組對象。 [com.sun.istack.internal.SAXException2:無法將類型「java.lang.String」編組爲元素,因爲它缺少@XmlRootElement註釋] – 2012-01-31 16:39:57

+0

@ silvino.barreiros - 正如我在博客中提到的JAXB RI在這裏似乎有一個錯誤。這個用例將與EclipseLink JAXB(MOXy)一起使用。 – 2012-01-31 16:46:48