如何用dom4j修改XML文件的简单实例(csb原创)

本文介绍使用dom4j库解析并修改XML文件的方法。通过示例代码展示如何读取XML文档、修改特定元素的值并保存更改。适用于需要动态配置XML的应用场景。

最近工作中涉及到在网页中配置参数对XML文件进行修改,对dom4j类进行了一些学习,现把代码贴出来,希望能对朋友们有所帮助:)The dom4j Project Homepage: http://www.dom4j.org/

dom4j 是一种解析 XML 文档的开放源代码 XML 框架。本文主要介绍如何使用包含在 dom4j 中的解析器修改 XML 文档。

这是对存在于D://fhxxj1113//fhxxj//scf//config//mm7Config.xml中XML的文件进行处理的代码全部,当然首先你得先把dom4j.jar文件加入工程(不要说你连这都不会哦^_^)

import java.io.IOException;
import java.io.File;
import java.util.Iterator;
import java.util.List;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;
import org.dom4j.io.SAXReader;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Node;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.Attribute;
import java.io.FileWriter;

public class Bean1 {
    public Bean1() {
    }

    public Document parse(String sfile) throws DocumentException {
        SAXReader reader = new SAXReader();
        Document document = reader.read(new File(sfile));
        return document;
    }

    public void bar(Document document) throws IOException {
        Element root = document.getRootElement(); //得到根节点目录
        Iterator iter = root.elementIterator();

        System.out.println("/r/n****** 获取的数据如下 ******");
        while (iter.hasNext()) {
            Element titleElement = (Element) iter.next();
            // 修改xml元素
            System.out.println(titleElement.getName());
            if (titleElement.getName().equals("UserName")) {
                titleElement.setText("csb");
            }
            if (titleElement.getName().equals("Password")) {
                titleElement.setText("222288");
            }
            if (titleElement.getName().equals("MmscID")) {
                titleElement.setText("2");
            }
            if (titleElement.getName().equals("mmscIP")) {
                titleElement.setText("192.168.100.151:8083");
            }
        }

        // 输出全部原始数据,在编译器中显示
        OutputFormat format = OutputFormat.createPrettyPrint();
        XMLWriter writer = new XMLWriter(System.out, format);
        System.out.println("/r/n------------------Start------------------");
        writer.write(document); 
        System.out.println("/r/n-------------------End-------------------");
        writer.close();
        // 输出全部原始数据,并用它生成新的我们需要的XML文件
        XMLWriter writer2 = new XMLWriter(new FileWriter(new File(
                "D://fhxxj1113//fhxxj//scf//config//mm7Config.xml")), format);
        writer2.write(document); //输出到文件
        writer2.close();

    }

    public static void main(String[] args) {
        Bean1 dom4j = new Bean1();
        try {
            dom4j.bar(dom4j.parse(
                    "D://fhxxj1113//fhxxj//scf//config//mm7Config.xml"));

        } catch (Exception e) {
            System.out.println(e.getMessage());
        }
    }
}

执行以上程序,应该就可以得到你要更新的xml文件,怎么样,很简单吧。哈哈那还等什么呢快来尝试下吧!!! 

代码转载自:https://pan.quark.cn/s/8ce4326d996e 对于在 CentOS 7 系统中修改网卡配置文件后无法使设置生效的情况,经过实践验证,可以通过使用 nmcli 命令来进行调整。完成修改之后,需要重新启动虚拟机以使更改生效,这样操作流程即告完成。如果设置仍然无法生效,则表明虚拟机在启动过程中所获取的 IP 地址配置并非针对 eth0,此时可以对其它网卡的配置文件进行修改或将其移除。在 CentOS 7 系统中,网络配置的管理机制与早期版本存在差异,主要体现为采用了 Network Manager 服务来负责网络接口的管理。在某些情形下,尽管修改了 `/etc/sysconfig/network-scripts` 目录下的 `ifcfg-eth0` 文件,但网络配置却未能即时生效。此类问题的发生通常源于 CentOS 7 采用了不同于以往的配置读取方法。接下来将具体阐述如何借助 nmcli 命令来处理这一挑战。 以 root 用户身份登录系统并打开终端界面。nmcli 是 Network Manager 提供的命令行界面工具,它支持在命令行环境下执行网络连接的建立、编辑、查询及管理任务。针对修改 eth0 网卡配置的需求,可以遵循以下步骤进行操作: 1. 导航至 `/etc/sysconfig/network-scripts` 目录: ``` cd /etc/sysconfig/network-scripts ``` 2. 检查该目录内是否存在 `ifcfg-eth0.bak` 文件,该备份文件可能是先前调整配置时遗留下来的,若存在可能造成冲突。若发现该文件,可以选择将其删除: ``` [root@localhost netw...
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值