Dom4j解析XML
来源:互联网 发布:淘宝二姐家是正品吗 编辑:程序博客网 时间:2024/06/01 18:14
XML文件放在resources目录下
<?xml version="1.0" encoding="UTF-8"?><CLASS> <STUDENT> <NAME value="name">zhangsan</NAME><INTEREST value="interest">basketball</INTEREST><INTEREST value="interest">football</INTEREST><BIRTH><YEAR>1992</YEAR><MONTH>02</MONTH><DAY>02</DAY></BIRTH></STUDENT> <STUDENT> <NAME value="name">lisi</NAME><INTEREST value="interest">music</INTEREST><INTEREST value="interest">reading</INTEREST> <BIRTH> <YEAR>1990</YEAR> <MONTH>01</MONTH> <DAY>01</DAY> </BIRTH></STUDENT></CLASS>
使用dom4j首先需要导入dom4j和 jaxen jar包
package com.dom4j.test;import org.dom4j.Document;import org.dom4j.Element;import org.dom4j.Node;import org.dom4j.io.SAXReader;import java.io.InputStream;import java.util.Iterator;import java.util.List;public class Dom4jTest { public static void main(String[] args){ SAXReader reader = new SAXReader(); //获取输入流 InputStream is=Dom4jTest.class.getResourceAsStream("/student.xml"); try { //获取document对象 Document document=reader.read(is); //获取文档的根节点 Element rootElement=document.getRootElement(); String name=rootElement.getName(); System.out.println("根节点:"+name); //方法一:迭代根节点的所有子节点 System.out.println("-----获取根节点所有子节点方法一,使用elementIterator()方法-----"); for(Iterator iterator=rootElement.elementIterator();iterator.hasNext();){ Element element=(Element) iterator.next(); System.out.println("根节点子节点:"+element.getName()); } System.out.println("-----获取根节点所有子节点方法二,使用elements()方法-----"); //方法二:获取根节点所有子节点 List<Element> childList = rootElement.elements(); for(Element element:childList){ System.out.println("根节点子节点:"+element.getName()); } System.out.println("-----通过路径获取单个节点,使用selectSingleNode()方法-----"); //通过路径获取单个节点(如果有多个,获取第一个) Node nameNode=document.selectSingleNode("/CLASS/STUDENT/NAME"); System.out.println("NAME节点:"+nameNode.getName()); System.out.println("-----通过路径获取多个节点,使用selectNodes()方法-----"); //通过路径获取多个节点(获取所有的节点) List<Element> interestList = document.selectNodes("/CLASS/STUDENT/INTEREST"); for (Iterator iterator = interestList.iterator(); iterator.hasNext(); ) { Element elem = (Element) iterator.next(); //获取元素的value属性值 String value = elem.attributeValue("value"); //获取元素的值 String text = elem.getText(); System.out.println("INTEREST节点:"+elem.getName()+" value属性:"+value+" 文本值:"+text); } }catch (Exception e){ System.out.println(e.getMessage()); } }}/** * 输出结果 * 根节点:CLASS -----获取根节点所有子节点方法一,使用elementIterator()方法----- 根节点子节点:STUDENT 根节点子节点:STUDENT -----获取根节点所有子节点方法二,使用elements()方法----- 根节点子节点:STUDENT 根节点子节点:STUDENT -----通过路径获取单个节点,使用selectSingleNode()方法----- NAME节点:NAME -----通过路径获取多个节点,使用selectNodes()方法----- INTEREST节点:INTEREST value属性:interest 文本值:basketball INTEREST节点:INTEREST value属性:interest 文本值:football INTEREST节点:INTEREST value属性:interest 文本值:music INTEREST节点:INTEREST value属性:interest 文本值:reading */
0 0
- 用DOM4J解析XML
- 使用 dom4j 解析 XML
- 使用 dom4j 解析 XML
- 解析xml之--DOM4J
- dom4j解析XML
- 使用 dom4j 解析 XML
- xml文件解析-DOM4J
- 使用 dom4j 解析 XML
- 使用 dom4j 解析 XML
- dom4j解析xml方法
- 使用 dom4j 解析 XML
- 使用 dom4j 解析 XML
- 使用 dom4j 解析 XML
- 使用 dom4j 解析 XML
- 使用 dom4j 解析 XML
- 使用 dom4j 解析 XML
- 使用 dom4j 解析 XML
- 使用 dom4j 解析 XML
- 《华为机试在线训练》之提取不重复的整数
- C语言实现TCP服务器----模型(三)
- 解决matplotlib中文乱码问题(Windows)
- PAT L2-011. 玩转二叉树
- android教你打造独一无二的刷新加载框架
- Dom4j解析XML
- PHP:自动加载类
- Latex使用小结
- 2017尔雅中国历史人文地理答案 中国历史人文地理葛剑雄
- C++中的循环
- TypedValue 和 TypedArray
- linux学习路线
- slam相关文章
- seetaface配置 未出现dll文件和lib文件解决方法