⽤Dom4j解析xml(Java版)含jar包
java解析xml有四种⽅式:
Dom、SAX、DOM4J、JDOM
下⾯以Dom4j来解析xml⽂件
先导⼊两个jar包 dom4j-1.6.1.jar和junit-4.10.jar
package com.g_xml;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
java xml是什么
public class Dom4j {
public static void main(String[] args) throws FileNotFoundException, DocumentException {
//1.创建SAXReader解析器
SAXReader reader = new SAXReader();
//2. 读取要解析的⽂件,让⽂件的内容存在 Document中
Document doc = ad(new FileInputStream("l"));
//3. 获取根节点
Element root = RootElement();
//4.获取根节点的所有直接⼦元素
List<Element> list = root.elements();
//5.遍历所有根节点的直接⼦元素
for(Element ele:list) {
System.out.Name()+"--"+ele.attributeValue("name")
+"--"+ele.attributeValue("postcode"));
}
}
}
package com.g_xml;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
/**
* dom4j解析xml
* @author ylq
*
*/
public class Dom4jDemo {
public static void main(String[] args) throws FileNotFoundException, DocumentException {
getCity();
}
}
public static void getCity() throws FileNotFoundException, DocumentException {  //1.创建SAXReader解析器
SAXReader reader = new SAXReader();
//2. 读取要解析的⽂件,让⽂件的内容存在 Document中
Document doc = ad(new FileInputStream("l"));
//3. 获取根节点
Element root = RootElement();
//5. 遍历所有⼦节点
getElements(root);
}
/**
* 递归遍历所有根节点中的⼦元素
*/
public static void getElements(Element ele){
List<Element> list = ele.elements();//ele.elements()获取根节点中的直接⼦元素  if(list.size() > 0){
for(Element e : list){
Name().equals("province")){
System.out.print("  省份:  "+e.attributeValue("name"));
System.out.println("  邮编:  "+e.attributeValue("postcode"));
}else Name().equals("city")){
System.out.print("  市:  "+e.attributeValue("name"));
System.out.println("  邮编:  "+e.attributeValue("postcode"));
}else Name().equals("area")){
System.out.print("    区:  "+e.attributeValue("name"));
System.out.println("    邮编:  "+e.attributeValue("postcode"));
}
//递归调⽤
getElements(e);
}
}
}
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。