当前位置:编程学习 > XML/UML >>

测试dom4j创建、修改、遍历XML

java项目概览:

 

 

XmlManage.java

[java] 
package com.jialin; 
 
import java.io.File; 
import java.io.FileWriter; 
import java.io.IOException; 
import java.util.HashMap; 
import java.util.Iterator; 
import java.util.List; 
import java.util.Map; 
 
import org.dom4j.Attribute; 
import org.dom4j.Document; 
import org.dom4j.DocumentException; 
import org.dom4j.DocumentHelper; 
import org.dom4j.Element; 
import org.dom4j.io.OutputFormat; 
import org.dom4j.io.SAXReader; 
import org.dom4j.io.XMLWriter; 
 
/**
 * 测试DOM4J创建,修改,遍历XML
 * 
 * @author jialin
 * 
 */ 
public class XmlManager { 
    public static void main(String[] args) { 
        XmlManager xmlManager = new XmlManager(); 
        // 初始化xml文档  
        Document doc = null; 
        // 通过dom4j方法创建xml  
        // doc = xmlManager.createXml();  
 
        // XML字符串  
        // String strXMl = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"  
        // + "<?xml-stylesheet type=\"text/xsl\" href=\"students.xsl\"?>"  
        // + "<students><!--Students Table-->   <student stu=\"001\">"  
        // + "<name>张三</name><age>18</age></student><student stu=\"002\">"  
        // + "<name>李四</name><age>19</age></student></students>";  
        // 通过字符串创建xml  
        // doc = xmlManager.createDocumentByString(strXMl);  
        // XMl输出路径  
        // String outputPath = "xml/Students.xml";  
        // 输出xml  
        // xmlManager.saveDocument(doc, outputPath);  
 
        // xml输入路径  
        String inputPath = "xml/Students.xml"; 
 
        // 根据xml路径更改XML  
        //xmlManager.ModifyXml(inputPath);  
 
        // 根据xml路径获取doc  
        doc = xmlManager.getDocument(inputPath); 
        // 遍历XML  
         xmlManager.traversalDocumentByElementIterator(doc); 
        // xmlManager.traversalDocumentByVisitor(doc);  
        //xmlManager.traversalDocumentByElements(doc);  
        //xmlManager.traversalDocumentByselectNodes(doc, "/Students/student/name");  
    } 
 
    /**
     * 获取XML文件
     * @param inputPath
     * @return
     */ 
    public Document getDocument(String inputPath) { 
        // 输入文件  
        File inputXml = new File(inputPath); 
        SAXReader saxReader = new SAXReader(); 
        Document document = null; 
        try { 
            document = saxReader.read(inputXml); 
        } catch (DocumentException e) { 
            e.printStackTrace(); 
        } 
        return document; 
    } 
     
    /**
     * 通过Dom4j方法创建xml文档
     * 
     * @return
     */ 
    public Document createXml() { 
        Document doc = DocumentHelper.createDocument(); 
        // 创建ProcessingInstruction  
        Map<String, String> inMap = new HashMap<String, String>(); 
        inMap.put("type", "text/xsl"); 
        inMap.put("href", "students.xsl"); 
        doc.addProcessingInstruction("xml-stylesheet", inMap); 
        // 增加根节点  
        Element studentsElement = doc.addElement("Students"); 
        // 增加注释  
        studentsElement.addComment("Students Table"); 
        // 增加子节点  
        Element stuElement = studentsElement.addElement("student"); 
        // 增加属性  
        stuElement.addAttribute("stu", "001"); 
        // 增加名称节点  
        Element nameElement = stuElement.addElement("name"); 
        // 设置名称节点的值  
        nameElement.setText("张三"); 
        // 增加年龄节点  
        Element ageElement = stuElement.addElement("age"); 
        // 设置年龄节点的值  
        ageElement.setText("18"); 
 
        // 同上  
        Element anotherStuElement = studentsElement.addElement("student"); 
        anotherStuEl

补充:软件开发 , Java ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,