以项目为牵引   全程实训   以就业为导向  以动手能力为目标

一样的教育    不一样的结果     全国咨询热线:400-078-8286

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

2018-12-18 来源:桂林志成IT教育中心  点击量:2132
摘要: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("Cit阿y"));
                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         }
        
    }

热门课程

相关文章>

合作伙伴