Dom4j读取XML
来源:互联网 发布:邓紫棋的喜欢你 知乎 编辑:程序博客网 时间:2024/06/16 07:28
Demo4j读取xml文档内容
节点
Iterator Element.nodeIterator();//获取当前标签节点下的所有子节点
标签
Element Document.getRootElement();//获取xml文档的根标签
Element Element.element("标签名");//获取指定名称的第一个
Iterator<Element> Element.elementIterator("标签名");//获取指定名称的所有子标签
List<Element> Element.elements();//获取所有直接子标签
Element Element.elementByID("ID");//获取属性为“ID”的标签。注意这里的“ID”必须为大写
属性
String Element.attributeValue("属性名") //获取指定名称的属性值
Attribute Element.attribute("属性名");//获取指定名称的属性对象
Attribute.getName() //获取属性名称
Attibute.getValue() //获取属性值
List<Attribute> Element.attributes(); //获取所有属性对象
Iterator<Attribute> Element.attibuteIterator(); //获取所有属性对象
文本
Element.getText(); //获取当前标签的文本
Element.elementText("子标签名") //获取当前标签的指定名称的子标签的文本内容 Demo:
package com.dom4j.red;import java.io.File;import java.util.Iterator;import java.util.List;import org.dom4j.Attribute;import org.dom4j.Document;import org.dom4j.Element;import org.dom4j.Node;import org.dom4j.io.SAXReader;import org.junit.BeforeClass;import org.junit.Test;/*** Author:Liu Zhiyong(QQ:1012421396)* Version:Version_1* Date:* Desc:Demo4j读取xml文档内容节点 Iterator Element.nodeIterator();//获取当前标签节点下的所有子节点 标签Element Document.getRootElement();//获取xml文档的根标签 Element Element.element("标签名");//获取指定名称的第一个 Iterator<Element> Element.elementIterator("标签名");//获取指定名称的所有子标签 List<Element> Element.elements();//获取所有直接子标签 属性:String Element.attributeValue("属性名") //获取指定名称的属性值Attribute Element.attribute("属性名");//获取指定名称的属性对象Attribute.getName() //获取属性名称Attibute.getValue() //获取属性值List<Attribute> Element.attributes(); //获取所有属性对象Iterator<Attribute>Element.attibuteIterator(); //获取所有属性对象文本:Element.getText(); //获取当前标签的文本Element.elementText("标签名") //获取当前标签的指定名称的子标签的文本内容*/public class Demo2 {public static Document doc;@BeforeClasspublic static void getDocument() throws Exception {//获取xml解析对象SAXReader saxReader = new SAXReader();//读取xml文档,获取Document对象doc = saxReader.read(new File("./src/contact.xml"));}//获取节点信息@Testpublic void test1() throws Exception {//得到当前节点下的所有子节点(不包括孙节点及其以下的节点)Iterator<Node> iterator = doc.nodeIterator();while(iterator.hasNext()){//判断是否有下一个元素Node node = iterator.next();//取出元素String name = node.getName();System.out.println(name);//继续取出下面的节点//只有标签节点下才有子节点//判断当前节点是否是标签节点if(node instanceof Element){Element ele = (Element)node;Iterator<Node> iterator2 = ele.nodeIterator();while(iterator2.hasNext()){Node node2 = iterator2.next();String name2 = node2.getName();System.out.println(name2);}}}}/** * 遍历xml文档的所有节点 * @throws Exception */@Testpublic void test2() throws Exception {//获取根标签,xml有且只有一个根标签Element rootEle = doc.getRootElement();getChildNodes(rootEle);}/** * 获取传入标签下的所有子节点 * @param ele */private void getChildNodes(Element ele){System.out.println(ele.getName());//得到子节点Iterator<Node> it = ele.nodeIterator();while(it.hasNext()){Node node = it.next();//判断是否是标签节点if(node instanceof Element){Element ele2 = (Element)node;//递归getChildNodes(ele2);}}}/** * 获取标签 * @throws Exception */@Testpublic void test3() throws Exception {//得到根标签Element rootEle = doc.getRootElement();//得到标签的名称String name = rootEle.getName();System.out.println(name);System.out.println("=============================");//得到当前标签下的第一个指定名称的子标签(不包括孙节点及其以下的节点)Element contactElement = rootEle.element("contact");System.out.println(contactElement.getName());System.out.println("=============================");//得到当前标签下指定名称的所有子标签(不包括孙节点及其以下的节点)Iterator<Element> it = rootEle.elementIterator("contact");while(it.hasNext()){Element ele = it.next();System.out.println(ele.getName());}System.out.println("=============================");//得到当前标签下的所有子标签(不包括孙节点及其以下的节点)List<Element> list = rootEle.elements();for(Element ele : list){System.out.println(ele.getName());}System.out.println("=============================");//获取更深层次的标签(只能一层一层的获取)Element nameEle = doc.getRootElement().element("contact").element("name");System.out.println(nameEle.getName());}/** * 读取属性(先获取属性所在标签对象,然后才能获取属性) * @throws Exception */@Testpublic void test4() throws Exception {//获取属性所在的标签对象Element ele = doc.getRootElement().element("contact");//获取指定属性名称的属性对象Attribute idAtt = ele.attribute("id");System.out.println(idAtt.getName() + ":" + idAtt.getValue());System.out.println("========================");//根据指定名称的属性获取属性值String attValue = ele.attributeValue("id");System.out.println(attValue);System.out.println("========================");//获取所有属性对象List<Attribute> list = ele.attributes();//遍历属性对象集合for(Attribute att : list){System.out.println(att.getName() + ":" + att.getValue());}}/** * 获取文本(先获取标签,再获取文本) * @throws Exception */@Testpublic void test5() throws Exception {/** * 注意:空格和换行也是xml的内容 *///获取根标签下的文本String text = doc.getRootElement().getText();System.out.println(text);System.out.println("========================");//先获取标签Element nameEle = doc.getRootElement().element("contact").element("name");//得到文本String text1 = nameEle.getText();////获取当前标签的文本System.out.println(text1);System.out.println("========================");//获取当前标签的指定名称的子标签的文本内容String text2 = doc.getRootElement().element("contact").elementText("name");System.out.println(text2);}}
0 0
- [dom4j]dom4j读取XML小结
- Dom4J读取XML
- xml 读取 dom4j
- xml文件读取-dom4j
- Dom4j读取xml
- dom4j读取xml文件
- Dom4j读取xml
- dom4j读取xml
- dom4j读取xml文件
- dom4j读取,解析xml
- 使用DOM4J读取XML
- dom4j读取xml文件
- dom4j读取xml文档
- dom4j读取xml文档
- Dom4j读取XML文件
- java读取xml Dom4j
- Dom4j读取xml文件
- dom4j读取xml
- ffmpeg 视频格式转换和宽高转换 制作自己想要的数据格式
- win7上64位系统安装tensorflow
- HDU 2545 树上战争(求树的高度)
- fragment中高德地图定位
- TextView字体高亮(歌词效果)
- Dom4j读取XML
- LeetCode124. Binary Tree Maximum Path Sum
- Jackson 反序列化Date时遇到的问题
- 光圣科技IQC质量管理模块
- 从今天开始,把以前学的一些算法和代码整理一下,希望能坚持得住啊啊啊
- Oracle数据图形画界面不能修改日期和数据问题
- 算法作业_7(2017.3.16第四周)
- codevs1245 最小的N个和 优先队列
- 空想误终身,实干出英雄