java - 读取和更新 XML 节点元素

标签 java xml

我是 Java 编程新手,正在尝试进行 XML 读取和更新。

我能够用 Java 编写一个程序来创建以下 XML 文件。 XML 文件中会有多个staff,并且id 是唯一的。此示例有 2 个staff 项目。

<?xml version="1.0"?>
<company>
    <staff id="1001">
        <firstname>yong</firstname>
        <lastname>mook kim</lastname>
        <nickname>mkyong</nickname>
        <salary>100000</salary>
    </staff>
    <staff id="2001">
        <firstname>low</firstname>
        <lastname>yin fong</lastname>
        <nickname>fong fong</nickname>
        <salary>200000</salary>
    </staff>
</company>

我想做的是,

步骤1:读取XML - 根据用户提供的ID,找到对应的staff元素并读取它的工资

第 2 步:更新 XML - 更改相应员工薪资项目并保存文件.

我正在寻找一种有效的方法来做到这一点!

最佳答案

您有多种解决方案:

  1. 使用 JAXB 将 XML 结构映射到 Java 类。然后您可以轻松地对 XML 进行编码/解码;
  2. 使用 XPath/XSLT 快速访问步骤 #1 中所需的 XML 节点以及 updating node content in Step #2 ;
  3. 使用 Java 的 XML 解析器(StAX、DOM、SAX)之一来读取和处理 XML。

选项2很快,但我无法判断它是否最有效,我想你可以测试一下并得出你的结论。

关于java - 读取和更新 XML 节点元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34844541/

相关文章:

java - 在android中从名称而不是id获取资源

xml - xpath - 获取所选集合的前 10 个项目

php - mysql 数据库中存储 rss feed 的一些问题

java - 在 JPanel 上绘制近距离 GPS 坐标

java - Tomcat - 请求的资源不可用 - IntelliJ IDEA - Java EE

java - XML解析器java跳过dtd验证

ruby-on-rails - ruby REXML : Get Value Of An XML Element

java - 如何两次消费HttpEntity?

java - 单击recyclerView新 Activity 尝试调用虚拟方法时出错

php - 在 PHP 中合并 XML 文件