如何在java中解组具有未知子元素的XML?

如何在java中解组具有未知子元素的XML?,java,xml,unmarshalling,Java,Xml,Unmarshalling,一个具有未知子元素的XML如何在java中解组? 请查找示例xml文件 <?xml version="1.0" encoding="utf-8"?> <root> <date>2015-09-01</date> <hour>08:30</hour> <to>Tom</to> <from>Jack</from> <data>

一个具有未知子元素的XML如何在java中解组? 请查找示例xml文件

<?xml version="1.0" encoding="utf-8"?>
<root>
    <date>2015-09-01</date>
    <hour>08:30</hour>
    <to>Tom</to>
    <from>Jack</from>
    <data>
        <id>123</id>
        <value>
            <name>test value</name>
            <description>test description</description>
        </value>
    </data>
</root>

2015-09-01
08:30
汤姆
杰克
123
测试值
测试描述

假设您已经创建了一个java对象,在本例中是Root.java,带有适当的字段,您可以执行以下操作:

JAXBContext context = new JAXBContext(Root.class);
Unmarshaller unmarshaller = context.createUnmarshaller();

Root root = unmarshaller.unmarshal(new File(yourXmlFilePathHere));

据我所知,这应该只更新xml文件指定的字段。因此,例如,如果您没有为
指定任何内容,我认为不会有问题。

您可以使用SAX解析器。