dom4j解析xml文件
来源:互联网 发布:淘宝网日本进口钓鱼竿 编辑:程序博客网 时间:2024/04/28 17:39
package com.xml.dom4j;import java.io.File;import java.util.List;import org.dom4j.Document;import org.dom4j.DocumentException;import org.dom4j.Element;import org.dom4j.io.SAXReader; public class XMLReader { public void read(String fileName) throws DocumentException{ File xmlFile = new File(fileName); read(xmlFile); } @SuppressWarnings("unchecked") public void read(File xmlFile) throws DocumentException{ //使用SAX方式解析xml SAXReader saxReader = new SAXReader(); //把xml文件转换成文档对象 Document document = saxReader.read(xmlFile); //取得根节点 Element rootNode = document.getRootElement(); //取得根节点的名字 System.out.println("根节点名称: "+rootNode.getName()); //取得所有的二级(下一级)子节点 List secondList = rootNode.elements(); readsecondLevelElement(secondList); } @SuppressWarnings("unchecked") public void readsecondLevelElement( List secondList){ for(Element secondElement : secondList){ System.out.println(" \t二级节点名称:"+secondElement.getName()); //取得所有的二级子节点的属性 System.out.println(" \t 属性title:"+secondElement.attributeva lue("title")+" 属性publisher:"+secondElement.attributeva lue("publisher")); //取得所有的三级(下一级)子节点 List thirdList = secondElement.elements(); readThirdLevelElement(thirdList); } } @SuppressWarnings("unchecked") public void readThirdLevelElement( List thirdList){ for(Element thirdElement : thirdList){ System.out.println(" \t\t三级节点名称:"+thirdElement.getName()); //取得所有的三级子节点的属性 System.out.println(" \t\t 属性level:"+thirdElement.attributeva lue("level")+" 属性date:"+thirdElement.attributeva lue("date")); //取得所有的四级(下一级)子节点 List fourList = thirdElement.elements(); readFourLevelElement(fourList); } } //读取四级元素的方法 public void readFourLevelElement( List fourList){ for(Element fourElement : fourList){ System.out.println(" \t\t\t四级节点名称:"+fourElement.getName()); if(fourElement.getName().equals("title")){ System.out.println(" \t\t\t 四级节点内容:"+fourElement.getText()); }else if(fourElement.getName().equals("author")){ //fourElement.element("firstname") 通过名字取得firstname节点 System.out.println(" \t\t\t\t五级级节点内容:"+fourElement.element("firstname").getName()); System.out.println(" \t\t\t\t 五级节点内容:"+fourElement.element("firstname").getText()); System.out.println(" \t\t\t\t五级级节点内容:"+fourElement.element("lastname").getName()); System.out.println(" \t\t\t\t 五级节点内容:"+fourElement.element("lastname").getText()); } } }}
编写测试类
public void testRead() { try { String file = "F:/students/dom4j_XML/src/catalog.xml"; XMLReader reader = new XMLReader(); reader.read(file); } catch (DocumentException e) { } }
要点说明: 使用dom4j方式解析xml: 1.指定要解析的文件 File xmlFile = new File(fileName); 2.选择xml解析方式 //使用SAX方式解析xml SAXReader saxReader = new SAXReader(); 3.解析xml文件 //把xml文件转换成文档对象 Document document = saxReader.read(xmlFile); 4.解析文档对象dom对象 //取得根节点 Element rootNode = document.getRootElement(); //取得所有的下一级节点 List secondList = rootNode.elements(); //根据名字取的子节点 fourElement.element("firstname") //根据名字取的子节点,和节点内容 fourElement.element("firstname").getText() //根据名字取的节点属性值 thirdElement.attributeva lue("level")
document.selectSingleNode( "/web-app/session-config/session-timeout "); //从根结点向下得到一个node
- xml文件解析-DOM4J
- dom4j解析Xml文件
- DOM4J 解析XML文件
- dom4j解析xml文件
- dom4j解析XML文件
- dom4j解析xml文件
- dom4j 解析xml文件
- dom4j解析xml文件
- dom4j解析XML文件
- Dom4J解析XML文件
- dom4j解析xml文件
- Dom4j解析xml文件
- Dom4j 解析xml文件
- dom4j解析xml文件
- dom4j解析xml文件
- dom4j解析xml文件
- dom4j解析xml文件
- DOM4J解析XML文件
- RDS连接数测试
- SVN安装与启动服务
- 如何使用动态链接库(dll)文件
- 在Cygwin环境下,堆栈的修改-(stack modification under cygwin)
- javascript 优秀模块是这样炼成的
- dom4j解析xml文件
- memcache与redis对比
- Android OpenGL es 纹理坐标设定与贴图规则(转载)
- linux 文件权限
- 了解JavaScript中的内置对象
- 反转单链表的值,但不改变链表指针地址
- linux命令行输入的的一些技巧
- 基于jquery的QQ在线客户插件
- 老北京用筷子讲究多:忌长短不齐忌直接指人