Java:使用DOM4j来实现读写XML文件中的属性和元素

DOM4可以读取和添加XML文件的属性或者元素

读取属性:

public static void ReadAttributes() throws DocumentException {
        File file = new File("D:\\cmz\\java\\XMLTest\\Customertest.xml");
        SAXReader reader = new SAXReader();
        Document doc = reader.read(file);
        Element root = doc.getRootElement();
        try {

            for (Iterator iterator = root.elementIterator(); iterator.hasNext();) {
                Element element = (Element) iterator.next();
                String CustomerID = element.attributeValue("CustomerID");
                System.out.println("CustomerID = " + CustomerID);
                String CompanyName = element.attributeValue("CompanyName");
                System.out.println("CompanyName =  " + CompanyName);
                System.out.println("ContactName = "
                        + element.attributeValue("ContactName"));
                System.out.println("ContactTitle = "
                        + element.attributeValue("ContactTitle"));
                System.out.println("Address = "
                        + element.attributeValue("Address"));
                System.out.println("City = " + element.attributeValue("City"));
                System.out.println("PostalCode = "
                        + element.attributeValue("PostalCode"));
                System.out.println("Country = "
                        + element.attributeValue("Country"));
                System.out
                        .println("Phone = " + element.attributeValue("Phone"));
                System.out.println("Fax = " + element.attributeValue("Fax"));
                System.out
                        .println("--------------------------------------------------------\t");

            }
        } catch (Exception e) {
            // TODO: handle exception
        }

    }

读取元素:

public static void ReadInnerTest() throws DocumentException {
        File file = new File("D:\\cmz\\java\\XMLTest\\Customer1.xml");
        SAXReader reader = new SAXReader();
        Document doc = reader.read(file);
        Element root = doc.getRootElement();

        try {
            for (Iterator iterator = root.elementIterator(); iterator.hasNext();) {
                Element type = (Element) iterator.next();

                System.out.println(type.elementText("CustomerID"));
                System.out.println(type.elementText("CompanyName"));
                System.out.println(type.elementText("ContactName"));
                System.out.println(type.elementText("ContactTitle"));
                System.out.println(type.elementText("Address"));
                System.out.println(type.elementText("City"));
                System.out.println(type.elementText("PostalCode"));
                System.out.println(type.elementText("Country"));
                System.out.println(type.elementText("Phone"));
                System.out.println(type.elementText("Fax"));
                System.out.println("---------------------------------\t");
            }

        } catch (Exception e) {
            // TODO: handle exception
        }
    }

-----

写入属性:

public static void WriteAttributes() {
        Document doc = DocumentHelper.createDocument();
        Element ele = doc.addElement("table");
        for (int i = 1; i < 5; i++) {
            Element Customers = ele.addElement("Customers");

            Customers.addAttribute("CustomerID", "ALFKI" + i);
            Customers.addAttribute("CompanyName", "Alfreds Futterkiste" + i);
            Customers.addAttribute("ContactName", "Maria Anders" + i);
            Customers.addAttribute("ContactTitle", "Sales Representative" + i);
            Customers.addAttribute("Address", "Obere Str. 57");
            Customers.addAttribute("City", "beijin");
            Customers.addAttribute("PostalCode", "12209");
            Customers.addAttribute("Country", "Germany");
            Customers.addAttribute("Phone", "030-0074321");
            Customers.addAttribute("Fax", "030-0076545");
            try {
                XMLWriter writer = new XMLWriter(new FileWriter(new File(
                        "Customertest.xml")));
                writer.write(doc);
                writer.close();
            } catch (Exception e) {
                // TODO: handle exception
            }
        }

    }

写出元素:

public static void  writeInnerTest(){
        Document doc = DocumentHelper.createDocument();
        Element ele = doc.addElement("table");

        for (int i = 1; i < 5; i++) {
            Element Customers = ele.addElement("row");
            Element CustomerID = ele.addElement("CustomerID");
            CustomerID.setText("ALFKI" + i);
            Element CompanyName = ele.addElement("CompanyName");
            CompanyName.setText("Alfreds Futterkiste" + i);
            Element ContactName = ele.addElement("ContactName");
            ContactName.setText("Maria Anders" + i);
            Element ContactTitle = ele.addElement("ContactTitle");
            ContactTitle.setText("Sales Representative" + i);
            Element Address = ele.addElement("Address");
            Address.setText("Obere Str. 57");
            Element City = ele.addElement("City");
            City.setText("beijin");
            Element PostalCode = ele.addElement("PostalCode");
            PostalCode.setText("12209");
            Element Country = ele.addElement("Country");
            Country.setText("Germany");
            Element Phone = ele.addElement("Phone");
            Phone.setText("030-0074321");
            Element Fax = ele.addElement("Fax");
            Fax.setText("030-0076545");
        }
        try {
            XMLWriter writer = new XMLWriter(new FileWriter(new File(
                    "Customertest2.xml")));
            writer.write(doc);
            writer.close();
        } catch (Exception e) {
            // TODO: handle exception
        }

    }

可以修改属性的文本内容:

public static void ReadUpdateattribute() throws DocumentException{
        File file = new File("D:\\cmz\\java\\XMLTest\\Customertest.xml");
        SAXReader reader = new SAXReader();
        Document doc = reader.read(file);
        Element root = doc.getRootElement();

        try {

            for (Iterator iterator = root.elementIterator("Customers"); iterator.hasNext();) {
                Element element = (Element) iterator.next();
                String name = "ALFKI1";
                if (name.equals(element.attributeValue("CustomerID")) ) {
                    Attribute attr = element.attribute("CustomerID");
                    attr.setValue("234");
                    Element ContactName = element.addElement("23424");
                    ContactName.setText("676767" );
                }

            }
            XMLWriter writer = new XMLWriter(new FileOutputStream(file));
            writer.write(doc);
            ReadAttributes();
        } catch (Exception e) {
            // TODO: handle exception
        }

    }

原文地址:http://blog.51cto.com/13758648/2304844

时间: 2024-08-27 09:14:24

Java:使用DOM4j来实现读写XML文件中的属性和元素的相关文章

web.xml文件中的7个错误的安全配置

关于Java的web.xml文件中配置认证和授权有大 量 的 文章.本文不再去重新讲解如何配置角色.保护web资源和设置不同类型的认证,让我们来看看web.xml文件中的一些常见的安全错误配置. (1) 自定义的错误页面没有配置 默认情况下,Java Web应用在发生错误时会将详细的错误信息展示出来,这将暴露服务器版本和详细的堆栈信息,在有些情况下,甚至会显示Java代码的代码片段.这些信息对为他们的病毒需找更多信息的黑客来说是一种恩惠.幸运的是,通过配置web.xml文件来展示自定义的错误页面

使用dom4j 读写xml文件

dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的.dom4j是一个十分优秀的JavaXML API,具有性能优异.功能强大和极其易使用的特点,同时它也是一个开放源代码的软件. String fileName="D:\\version.xml"; File inputXML=new File(fileName); //使用 SAXReader 解析 XML 文档 version.xml SAXReader saxReader=new SAXReader();

Java 模拟servlet执行、DTD约束、Schema约束、dom4j解析(读写xml)

模拟servlet执行 浏览器请求WEB服务器上的资源,WEB服务器返回给浏览器 浏览器的入口不同(访问路径),访问的资源也不同. 我们需要使用xml约束(DTD或schema);为了获得xml的内容,我们需要使用dom4j进行解析. XML(不同路径(/hello)执行不同的资源( HeIIoMyServlet)) XML可扩展的标记语言  标签可自定义的 包下创建xml 文件   new → other  →  XMLFile 粘贴web-app_ 2_ 3.dtd文件 复制web-app_

JAXB方式读写XML文件

import java.io.File; import java.util.ArrayList; import java.util.List; import javax.xml.bind.JAXB; import org.apache.log4j.Logger; import org.dom4j.Document; import org.dom4j.Element; import org.dom4j.io.SAXReader; import cn.com.starit.ts.nms.collec

使用dom4j创建和解析xml文件

使用dom4j创建和解析xml文件 在项目开发中,我们经常会遇到xml文件的创建和解析从别人接口得到的xml文件,而我们最常使用的组件是dom4j. 下面我就以代码来讲解一下如何使用dom4j来创建xml文件. 1.项目结构 在这里我们要,引入dom4j中的两个jar包,分别是: dom4j-1.6.1: jaxen-1.1-beta-6: 2.简要介绍 >创建xml 的主要类 DocumentHelper document = DocumentHelper.createDocument();

C#读写xml文件

c#读写xml文件已知有一个XML文件(bookstore.xml)如下: Code<?xml version="1.0" encoding="gb2312"?><bookstore> <book genre="fantasy" ISBN="2-3631-4"> <title>Oberon's Legacy</title> <author>Corets,

iOS 读写xml文件

//*********写入文件,传入要保存的信息*********//保存xml -(void) saveXml:(NSString *)data { //创建文件管理器 NSFileManager *fileManager = [NSFileManager defaultManager ]; //获取路径 //参数NSDocumentDirectory要获取那种路径 NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentD

PHP读写XML文件的四种方法

PHP对XML文件进行读写操作的方法一共有四种,分别是:字符串方式直接读写.DOMDocument读写. XMLWrite写和XMLReader读.SimpleXML读写,本文将依次对这四种方法进行介绍. 介绍之前首先对本文例子使用的数据和文件进行说明.本文写XML文件的例子都是从MySQL中读取数据然后 写入到XML文件中,读XML文件的例子都是从XML文件中读取数据后组装成数组的格式,数组中每个元素对应数 据库中的一条记录. MySQL中的数据: XML文件: 1 2 3 4 5 6 7 8

Spring MVC框架下在java代码中访问applicationContext.xml文件中配置的文件(可以用于读取配置文件内容)

<bean id="propertyConfigurer" class="com.****.framework.core.SpringPropertiesUtil" lazy-init="false"> <property name="locations"> <list> <value>classpath:config/sys.properties</value> &