Java XML文件编辑

时间:2018-09-26 13:02:20

标签: java xml automation dataset

有人知道如何在Java中更改此XML示例的内部值吗?

    <?xml version="1.0"?>

<dataSet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <name>test</name>
  <type>default-type</type>
  <recordSets>
    <recordSet>
      <name>USER_Props</name>
      <fields>
        <field>
          <name>ID</name>
          <type>string</type>
        </field>
        <field>
          <name>NAME</name>
          <type>string</type>
        </field>
        <field>
          <name>LANGUAGE</name>
          <type>string</type>
        </field>
      </fields>
      <records>
        <record>
          <values>
            <element>580710699</element>
            <element>John Doe</element>
            <element>spanish</element>
          </values>
        </record>
      </records>
    </recordSet>
    <recordSet>
      <name>USER_special_Props</name>
      <fields>
        <field>
          <name>Haircolor</name>
          <type>string</type>
        </field>
        <field>
          <name>Eyecolor</name>
          <type>string</type>
        </field>
        <field>
          <name>HasPet</name>
          <type>bool</type>
        </field>
      </fields>
      <records>
        <record>
          <values>
            <element>gray</element>
            <element>blue</element>
            <element>false</element>
          </values>
        </record>
      </records>
    </recordSet>
  </recordSets>
</dataSet>

我已经使用xpath进行了尝试,但是并不能真正获得我想要的东西。

我想要一个这样的方法:changeValue(fieldName,recordValueElement)->返回newValue

也许是这样的方法:checkIfFieldExists(fieldName)

非常感谢

1 个答案:

答案 0 :(得分:-1)

有一个名为 JAXB 的库。当我处理XML文件时,对我来说做得很好。

如果您想找一个简单的例子:https://www.mkyong.com/java/jaxb-hello-world-example/