JAVA:读取和修改xml

问题描述 投票:0回答:1

我需要读取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。

xml parsing jaxb
1个回答
1
投票

如果你的xml结构每次真的不同,那么它首先就没有一个稳定的xsd。

但是,如果它足够稳定(例如总是一个Message,有Person元素和Numbers元素),那么Jackson可能是一个选项。它不需要xsd。

您必须使用getter和setter自己定义Message etc类,然后使用Jackson的XmlMapper类将xml读入对象。

© www.soinside.com 2019 - 2024. All rights reserved.