解析xml——采用Jdom与dom4J方式读xml文档
2012-10-11 19:52
591 查看
对于java,现在目前流行解析xml的技术有4种。它们分别是:dom、jdom、dom4j、sax。前3种是基于dom树解析的,后一种是基于事件处理机制的。其中最流行的为jdom与dom4j的解析方式。以下分别是jdom与dom4j方式读xml文档。有什么错误与建议希望大家给我邮件,大家共同进步。
xml文档如下:
文档名称:studentInfo.xml
一.Jdom方式读xml文档,代码如下:
使用此方式需要导入:org.jdom.jar这个包
View Code
二.dom4J方式读xml文档,代码如下:
使用此方式需要导入:org.dom4j-1.6.1.jar这个包
xml文档如下:
文档名称:studentInfo.xml
<?xml version="1.0" encoding="UTF-8"?> <class> <student no="1001"> <name>张三</name> <sex>男</sex> <age>20</age> <score> <java>90</java> <net>85</net> <html>87</html> </score> </student> <student no="1002"> <name>xi</name> <sex>男</sex> <age>20</age> <score> <java>78</java> <net>79</net> <html>87</html> </score> </student> </class>
一.Jdom方式读xml文档,代码如下:
使用此方式需要导入:org.jdom.jar这个包
View Code
import java.io.FileInputStream; import java.util.List; import org.jdom.Document; import org.jdom.Element; import org.jdom.input.SAXBuilder; /** * 解析xml * 用jdom读studentInfo.xml中的数据 * @author dell * */ public class ReaderXML { public static void main(String[] args) { //1.新建一个解析器 SAXBuilder builder=new SAXBuilder(); Document doc=null; try { //2.获取解析的文档 doc=builder.build(new FileInputStream("G:\\javaWeb\\chapter01\\WebRoot\\studentInfo.xml")); } catch (Exception e) { e.printStackTrace(); } //3.获取根节点 Element root=doc.getRootElement(); //4.获取子节点 List<Element> list=root.getChildren(); //5.循环读取数据 System.out.println("学号\t姓名\t性别\t年龄\tjava成绩\t.net成绩\thtml成绩"); for (Element element : list) { List<Element> score=element.getChildren("score");//获取score节点下的子节点 for (Element s : score) { System.out.print(element.getAttributeValue("no")+"\t"+element.getChildText("name")+"\t"+element.getChildText("sex")+"\t"+element.getChildText("age")+"\t"); System.out.print(s.getChildText("java")+"\t"+s.getChildText("net")+"\t"+s.getChildText("html")+"\n"); } } } }
二.dom4J方式读xml文档,代码如下:
使用此方式需要导入:org.dom4j-1.6.1.jar这个包
import java.io.*; import java.util.List; import org.dom4j.Document; import org.dom4j.Element; import org.dom4j.io.SAXReader; /** * 解析xml * 读取studentInfo.xml中的数据 * 采用dom4j方式解析 * dom4j是jdom一种优化式的封装 * @author dell * */ public class ReaderXML { public static void main(String[] args) { //1.创建解析器 SAXReader reader=new SAXReader(); Document doc=null; try { //2.得到document对象 doc=reader.read(new File("G:\\javaWeb\\chapter01\\WebRoot\\studentInfo.xml")); } catch (Exception e) { e.printStackTrace(); } //3.得到根节点 Element root=doc.getRootElement(); //4.得到子节点 List<Element> list=root.elements(); //5.取值 System.out.println("学号\t姓名\t性别\t年龄\tjava成绩\t.net成绩\thtml成绩"); for (Element element : list) { List<Element> score=element.elements("score");//得到score下的子节点 for (Element s : score) { System.out.print(element.attributeValue("no")+"\t"+element.elementText("name")+"\t"+element.elementText("sex")+"\t"+element.elementText("age")+"\t"); System.out.print(s.elementText("java")+"\t"+s.elementText("net")+"\t"+s.elementText("html")+"\n"); } } } }
相关文章推荐
- 解析xml——采用Jdom与dom4J方式写入xml文档
- XML文档常用解析方式DOM、SAX、JDOM、DOM4J的比较
- java的xml学习[DOM4J方式解析XML文档]
- dom、SAX、Jdom、dom4j四种解析xml方式简单总结
- 【慕课笔记】4-4 应用DOM4J及JDOM方式解析XML—JDOM解析时乱码的处理
- 【慕课笔记】4-5 应用DOM4J及JDOM方式解析XML—在JDOM中存储Book对象
- JAVA 解析XML之JDOM、DOM4J方式
- XML解析方式之DOM、SAX、JDOM、DOM4J
- JAVA解析XML的方式DOM、SAX、DOM4J、JDOM、StAX之详解与比较
- xml的解析方式——dom/sax、jdom、dom4j
- XML解析方式之DOM、SAX、JDOM、DOM4J
- xml生成、解析的四种方式,dom、sax、dom4j、jdom
- java解析xml的4种方式:1、Dom,2、SAX,3、Jdom,4、dom4j
- [Java开发之路](12)JDOM和DOM4J解析XML文档
- JDOM和DOM4J解析含有XML字符串的不同方式
- 【慕课笔记】4-6 应用DOM4J及JDOM方式解析XML—关于JDOM使用过程中JAR包的引用
- XML的四种解析方式之JDOM&DOM4J
- 【XML解析】(4)Java下使用DOM4J解析方式对XML文档进行解析
- JAVA解析XML的方式DOM、SAX、DOM4J、JDOM、StAX之比较
- JAVA解析XML的方式DOM、SAX、DOM4J、JDOM、StAX之详解与比较