首页 > 解决方案 > Java XML 文件编辑

问题描述

有人知道我如何在 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) --> return newValue

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

提前谢谢了

标签: javaxmlautomationdataset

解决方案


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

如果您正在寻找一个简单的示例:https ://www.mkyong.com/java/jaxb-hello-world-example/


推荐阅读