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

时间:2017-02-01 23:43:02

标签: java xml unmarshalling

如何在java中解组具有未知子元素的XML? 请找到示例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>

1 个答案:

答案 0 :(得分:0)

假设您已经创建了一个java对象,在本例中为Root.java,并且包含相应的字段,您可以这样做:

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

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

据我了解,这应该只更新xml文件指定的字段。因此,如果您没有为<data></data>指定任何内容,我认为不会有问题。