测试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 ,