+ attribute.getData());
}
// 枚举当前节点下所有子节点
for (Iterator ieson = element.elementIterator(); ieson.hasNext();) {
Element elementSon = (Element) ieson.next();
System.out.println(elementSon.getName() + ":"
+ elementSon.getText());
}
}
}
/**
* 使用elements方法进行xml的读取,相当于条件查询,可以根据不同的节点,利用for循环查询该节点下所有的数据。
*
* @throws DocumentException
*/
public static void traversalDocumentByElements(Document doc) {
// 获取根节点
Element root = doc.getRootElement();
// 根据根节点,将根节点下 student中的所有数据放到list容器中。
List list = root.elements("student");
// 这种遍历方式,是jdk1.5以上的版本支持的遍历方式,嘿嘿试试
for (Object obj : list) {
Element el = (Element) obj;
System.out.println("----------"+el.getName()+"-----------");
// 获取name节点下所有的内容,存入listName容器中
List listName = el.elements("name");
// 获取age节点下所有的内容,存入age容器中
List listAge = el.elements("age");
for (int i=0;i
// 获取name节点下的数据。
System.out.println(elname.getName() + ": " + elname.getText());
Element elage = (Element) listAge.get(i);
// 获取age节点下的数据。
System.out.println(elage.getName() + ": " + elage.getText());
}
}
}
/**
* 使用selectNodes读取xml文件
*
* @param args
* @throws DocumentException
*/
public static void traversalDocumentByselectNodes(Document doc,
String elementpath) {
// 使用selectNodes获取所要查询xml的节点。
List list = doc.selectNodes(elementpath);
// 遍历节点,获取节点内数据。
for (Iterator ie = list.iterator(); ie.hasNext();) {
Element el = (Element) ie.next();
System.out.println(el.getName() + ": " + el.getText());
}
}
/**
* 基于访问者模式遍历
*
* @param doc
*/
public void traversalDocumentByVisitor(Document doc) {
doc.accept(new MyVisitor());
}
}
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\" >"
// + "
// + "
// + "
// 通过字符串创建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(inputPa