我需要读取xml文件并根据索引更新其某些属性的值。 (例如,Message.Person.Name =“XYX”,Message.Numbers.Number [1] = 2)
<Message>
<Person>
<Name>John</Name>
<Country>USA</Country>
</Person>
<Numbers>
<Number>1</Number>
<Number>2</Number>
</Numbers>
</Message>
xml结构每次都不同。有没有办法可以动态地将xml转换为Java对象并更改必要属性的值并转换回xml?请记住,我的xml结构没有任何特定的xsd。 我查看了JAXB和MOXy的示例,但似乎它们都需要xsd。
答案 0 :(得分:1)
如果你的xml结构每次真的不同,那么它首先就没有一个稳定的xsd。
但是,如果它足够稳定(例如总是一个Message,包含Person元素和Numbers元素),那么Jackson可能是一个选项。它不需要xsd。
您必须使用getter和setter自己定义Message etc类,然后使用Jackson的XmlMapper类将xml读入对象。