JAXB - 将元素解析为字符串

问题描述:

有没有办法将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://*.com/问题/ 7736678),[如何使用JAXB按原样读取和写入XML元素](http://*.com/questions/8298433),[使用JAXB将XML数据作为字符串获取到子节点中]( (使用JAXB提取XML元素的内部文本](http://*.com/questions/5537416),[具有“未知”名称的JAXB映射元素](h TTP://*.com/questions/4278546)。尊重** @ BlaiseDoughan **。 – 2012-01-28 13:04:09

+0

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

可以使用@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