您的位置:首页 > 其它

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

2006-11-24 17:28 441 查看
最近工作中涉及到在网页中配置参数对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文件,怎么样,很简单吧。哈哈那还等什么呢快来尝试下吧!!! 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息