TestDomForJava.java

package com.sxt.dom4j;
import java.io.File;
import java.util.Iterator;
import java.util.List; import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
/*
* Dom4j
* document object model for java
*
*/
import org.dom4j.io.SAXReader; public class TestDomForJava {
public static void main(String[] args) throws Exception{
//第一步:引入jar包
//新建folder:lib 将jar包拷贝进去 在jar包上右键 BuildPath:add to build path
//创建解析器
SAXReader reader = new SAXReader();
//获取dom树 .read()
Document document = reader.read(new File("product.xml"));
//获取根元素
Element rootElement = document.getRootElement();
System.out.println(rootElement.getName());
//获取所有子元素 迭代器 使用泛型 避免转型!
Iterator<Element> iterator = rootElement.elementIterator();
while(iterator.hasNext()){
Element element = iterator.next();
System.out.println(element.getName());
//获取某一个元素
Element element3 = element.element("price");
System.out.println("--------"+element3.getStringValue()); //获取属性 方法一
Attribute att = element.attribute("id");
System.out.println(att.getName()+"\t"+att.getValue());//att.getText()
//获取属性 方法二
List<Attribute> list = element.attributes();//使用泛型 避免强转
for(Attribute a : list){
System.out.println("-->"+a.getName()+"\t"+a.getValue());
}
//获取item的子元素 如name price等
Iterator<Element> iterator2 = element.elementIterator();//使用泛型 避免强转
while(iterator2.hasNext()){
Element element2 = iterator2.next();
System.out.println(element2.getName()+"\t"+element2.getStringValue());//getText()
}
System.out.println();
}
}
}

Dom4j(Dom for Java) Day24的更多相关文章

  1. myeclipse的web project中使用dom4j报错java.lang.ClassNotFoundException: org.dom4j.Document

    在学习微信公众平台开发的过程中,参考了微信公众平台java开发详解(工程代码+解析)中的xml解析方法,是使用dom4j来解析的. 对于java中解析xml的方法,又参考了java解析xml的几种方式 ...

  2. DOM综合案例、SAX解析、StAX解析、DOM4J解析

    今日大纲 1.DOM技术对xml的增删操作 2.使用DOM技术完成联系人管理 3.SAX和StAX解析 4.DOM4J解析 5.XPATH介绍 1.DOM的增删操作 1.1.DOM的增加操作 /* * ...

  3. 整理的一些java中常使用jar包以及说明

    slf4j:Simple Logging Facade for Java SLF4J,即简单日志门面(Simple Logging Facade for Java),不是具体的日志解决方案,它只服务于 ...

  4. dom4j和document

    DOM的优点和缺点: 优点:DOM操作思维清晰,简单 缺点:在操作大量数据的时候性能,不能保证 DOM(Document Object Model) // 表示出需要被操作的XML文件的路径,注意是文 ...

  5. IO流 总结二

    流只能操作数据. File 类 用来将文件或者文件夹封装成对象. 方便文件与文件夹进行操作 File对象可以作为参数传递给流的构造函数. 可以将已有的和已出现的文件或者文件夹封装成对象 File a ...

  6. java中四种操作(dom、sax、jdom、dom4j)xml方式详解与比较

    1)DOM(JAXP Crimson解析器)     DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准.DOM是以层次结构组织的节点或信息片断的集合.这个层次结构允许开发人员在树中寻找特 ...

  7. java操作xml方式比较与详解(DOM、SAX、JDOM、DOM4J)

    java中四种操作(DOM.SAX.JDOM.DOM4J)xml方式的比较与详解     1)DOM(JAXP Crimson解析器) DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准. ...

  8. 转:在java中使用dom4j解析xml

    JAVA 使用Dom4j 解析XML Java DOM4J Parser - Parse XML Document Dom4j下载及使用Dom4j读写XML简介 在java中使用dom4j解析xml ...

  9. XML解析【介绍、DOM、SAX详细说明、jaxp、dom4j、XPATH】

    什么是XML解析 前面XML章节已经说了,XML被设计为"什么都不做",XML只用于组织.存储数据,除此之外的数据生成.读取.传送等等的操作都与XML本身无关! XML解析就是读取 ...

随机推荐

  1. 基于TensorFlow理解CNN中的padding参数

    1 TensorFlow中用到padding的地方 在TensorFlow中用到padding的地方主要有tf.nn.conv2d(),tf.nn.max_pool(),tf.nn.avg_pool( ...

  2. hdu 5823 color II——子集dp(独立集)

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=5823 独立集染一种颜色.在这个基础上枚举子集来dp. 状压一样地存边真是美妙. 2^32是1ll<& ...

  3. stackless 安装

    1.下载源码 https://bitbucket.org/stackless-dev/stackless/wiki/Download 2.编译.安装.路径生效 apt-get install libr ...

  4. 看完就会用的GIT操作图解分析

    无论你是前端还是后台,无论是运维还是移动端研发,GIT是逃避不了的东西,当然你说你要用SVN,那不在这次的讨论范围之内.不多说,请看下文GIT图解分析,10分钟学会git操作,当然下面的教程是为实战为 ...

  5. 为什么要使用ul li布局网站导航条?使用ul li布局网站网页导航必要性

    会布局的都知道网站导航条布局非常重要,可能一个导航条最终布局效果有时可以使用ul li列表标签布局,有时可以不用ul li布局,而是直接一个div盒子里直接放锚文本超链接的栏目名称,也能实现,看下图. ...

  6. 验证码倒计时js

    getVarify.js // 验证码计时--第一种 window.onload = function () { var send = document.getElementById('send'), ...

  7. 数据库完整性 ch.5

    数据库的完整性 是指 数据的正确性(correctness) 和 相容性 (compat-ability) 5.1 实体完整性 定义 对单属性码的说明有两种方法,一种是定义为表约束条件,一种是定义为列 ...

  8. 集训队日常训练20180513-DIV1

    A.3132 给一个有向图,问能否从任意点出发都能进入一个环中. 深搜. #include<bits/stdc++.h> using namespace std; ; vector< ...

  9. 洛谷P2903 [USACO08MAR]麻烦的干草打包机The Loathesome Hay Baler

    P2903 [USACO08MAR]麻烦的干草打包机The Loathesome Hay Baler 题目描述 Farmer John has purchased the world's most l ...

  10. javascript控件开发之滚动条控件

    首先,基于行前几篇开发的的框架,我们在目录 component\ui\下添加文件 com.ui.scrollBar.js, 在文件中定义com.ui.scrollBar类,继承com.ui.windo ...