XML之DOM思想的DOM4J解析器
来源:互联网 发布:淘宝vip专享活动 编辑:程序博客网 时间:2024/05/29 17:40
students的xml文件
<?xml version="1.0" encoding="UTF-8"?><students> <studnet id="s001"> <name>张三</name> <age>23</age> <tel>110</tel> </studnet> <student id = "s002"> <name>李四</name> <age>32</age> <tel>119</tel> </student></students>
package org.westos.dom4j;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.util.Iterator;import java.util.List;import org.dom4j.Attribute;import org.dom4j.Document;import org.dom4j.DocumentException;import org.dom4j.Element;import org.dom4j.io.SAXReader;public class DOM4JDemo { public static void main(String[] args) throws FileNotFoundException, DocumentException { // 导入jar包 // 创建解析DOM4J解析对象 SAXReader reader = new SAXReader(); Document doc = reader.read(new FileInputStream("students.xml")); // 获取节点对象 // Node node = doc.node(0); //只能获取一个节点 // System.out.println(node.getName()); // 获取跟标签对象 Element rootelement = doc.getRootElement(); // 获取第一个子标签 Element stuElement = rootelement.element("student"); System.out.println(stuElement.getName()); System.out.println("-------------以下是获取所有子标签---------------------"); // 获取所有的子标签 List<Element> list = rootelement.elements(); for (Element ele : list) { System.out.println(ele.getName()); } // 方式三 获取所有子标签 System.out.println("-------------通过迭代器获取所有子标签---------------------"); Iterator<Element> elementIterator = rootelement.elementIterator(); while (elementIterator.hasNext()) { Element element = elementIterator.next(); System.out.println(element.getName()); } System.out.println("-------------以下是获取属性对象--------------------------"); Element element = rootelement.element("student"); Attribute attribute = element.attribute("id"); String value = attribute.getValue(); String name = attribute.getName(); System.out.println(name); System.out.println(value); // 方式2:直接获取属性值 System.out.println("------------------------------------------"); String value2 = rootelement.element("student").attributeValue("id"); System.out.println(value2); // 方式三:获取所有的属性对象 List<Attribute> attributes = rootelement.element("student").attributes(); for (Attribute atr : attributes) { String name2 = atr.getName(); String value3 = atr.getValue(); System.out.println(name2 + "======" + value3); } System.out.println("---------------通过迭代器获取所有的属性对象--------------------------"); Iterator<Attribute> attributeIterator = rootelement.element("student").attributeIterator(); while (attributeIterator.hasNext()) { Attribute attribute2 = attributeIterator.next(); System.out.println(attribute2.getName() + "==" + attribute2.getValue()); } System.out.println("--------------获取标签之间的文本-----------------------"); // 层层往下拿 String text = doc.getRootElement().element("student").element("name").getText(); System.out.println(text); // 方式2: String text2 = doc.getRootElement().element("student").elementText("name"); System.out.println(text2); // 抽取方法获取所有节点 // getNodes(rootelement); // 如果想获取所有节点 // Iterator<Node> iterator = doc.nodeIterator(); // while(iterator.hasNext()){ // Node node2 = iterator.next(); // System.out.println(node2.getName()); // } } // private static void getNodes(Element ele) { // System.out.println(ele.getName()); // Iterator<Node> iterator = ele.nodeIterator(); // while(iterator.hasNext()){ // Node node2 = iterator.next(); // if(node2 instanceof Element){ // Element ele3 = (Element) node2; // getNodes(ele3); //使用递归 // } // // } // }}
阅读全文
0 0
- XML之DOM思想的DOM4J解析器
- XML解析(Dom /DOM4J)
- xml的解析DOM,SAX,DOM4J
- XML解析-Dom4j的DOM解析方式更新XML
- JavaWeb系列之四(XML的解析技术(dom,sax)和解析器(jaxp,dom4j))
- xml之DOM方式解析,DOM4J工具解析原理
- XML解析(DOM,SAX,dom4j)
- XML 解析(dom/sax, dom4j)
- 使用DOM 、DOM4J解析XML
- Dom4j解析Xml与Dom解析Xml
- XML解析方式之DOM、SAX、JDOM、DOM4J
- XML解析方式之DOM、SAX、JDOM、DOM4J
- xml文档解析之DOM、SAX、JDOM、Dom4J总结
- JAVA解析XML的方式DOM、SAX、DOM4J、JDOM、StAX之比较
- JAVA解析XML的方式DOM、SAX、DOM4J、JDOM、StAX之详解与比较
- JAVA解析XML的方式DOM、SAX、DOM4J、JDOM、StAX之比较
- JAVA解析XML的方式DOM、SAX、DOM4J、JDOM、StAX之详解与比较
- JAVA解析XML的方式DOM、SAX、DOM4J、JDOM、StAX之比较
- Volley报NullPointerException原因
- C语言中getopt()和getopt_long()函数的用法
- drop、truncate和delete的用法及区别
- localstorage存取json
- nginx源码阅读笔记.array和list数据结构
- XML之DOM思想的DOM4J解析器
- 文章标题
- jupyter notebook的安装与使用
- BZOJ 2618: [Cqoi2006]凸多边形(半平面交)
- ubuntu更新阿里源与桌面快捷操作
- 机器学习第4章第1节 : R语言基本语法及操作
- CF678E Another Sith Tournament(概率dp+状压dp)
- js之substr与substring的区别
- androidStudio使用总结(一)