- 浏览: 345840 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
hai2653068:
刚刚就用到了。。。 一字符串类型时间的排序 时间有重复 ...
java List 去重(两种方式) -
java门徒CZP:
数据量大时的速度??
java集合类多条件排序 -
showtimes52007:
也就相当于分组,然后排序嘛.
java集合类多条件排序 -
longjun:
好
java解析xml文件(三种方式-(dom ,jdom ,dom4j) -
zx44y:
没多大概率用得到。
java List 去重(两种方式)
test.xml文件
<?xml version="1.0" encoding="UTF-8"?> <HD> <disk name="C"> <capacity>8G</capacity> <directories>200</directories> <files>1580</files> </disk> <disk name="D"> <capacity>10G</capacity> <directories>500</directories> <files>3000</files> </disk> </HD>
第一种,利用dom方式解析xml 文件,无需jar包
package Dom; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.NodeList; public class DomXML { public static void main(String[] args)throws Exception { //得到DOM解析器的工厂实例 DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance(); //从DOM工厂中获得DOM解析器 DocumentBuilder dbBuilder = dbFactory.newDocumentBuilder(); //声明为File为了识别中文名 Document doc = null; doc = dbBuilder.parse("F:/work_sapce_petroskill/Spring/src/Dom/test.xml"); //得到文档名称为Student的元素的节点列表 NodeList list = doc.getElementsByTagName("disk"); //遍历该集合,显示结合中的元素及其子元素的名字 for(int i = 0; i< list.getLength() ; i ++){ Element element = (Element)list.item(i); String name=element.getAttribute("name"); String capacity=element.getElementsByTagName("capacity").item(0).getFirstChild().getNodeValue(); String directories=element.getElementsByTagName("directories").item(0).getFirstChild().getNodeValue(); String files=element.getElementsByTagName("files").item(0).getFirstChild().getNodeValue(); System.out.println("磁盘信息:"); System.out.println("分区盘符:"+name); System.out.println("分区容量:"+capacity); System.out.println("目录数:"+directories); System.out.println("文件数:"+files); System.out.println("-----------------------------------"); } } }
输出结果为:
磁盘信息: 分区盘符:C 分区容量:8G 目录数:200 文件数:1580 ----------------------------------- 磁盘信息: 分区盘符:D 分区容量:10G 目录数:500 文件数:3000 -----------------------------------
第二种,利用Jdom方式解析xml文件,需要下载jdom.jar(见附件)
package Dom; import java.util.List; import org.jdom.Document; import org.jdom.Element; import org.jdom.input.SAXBuilder; public class JDomXML { public static void main(String[] args) throws Exception{ SAXBuilder sb=new SAXBuilder(); Document doc=sb.build(Dom4jXML.class.getClassLoader().getResourceAsStream("Dom/test.xml")); //构造文档对象 Element root=doc.getRootElement(); //获取根元素 List list=root.getChildren("disk");//取名字为disk的所有元素 for(int i=0;i<list.size();i++){ Element element=(Element)list.get(i); String name=element.getAttributeValue("name"); String capacity=element.getChildText("capacity");//取disk子元素capacity的内容 String directories=element.getChildText("directories"); String files=element.getChildText("files"); System.out.println("磁盘信息:"); System.out.println("分区盘符:"+name); System.out.println("分区容量:"+capacity); System.out.println("目录数:"+directories); System.out.println("文件数:"+files); System.out.println("-----------------------------------"); } } }
输出结果为: 磁盘信息:
分区盘符:C
分区容量:8G
目录数:200
文件数:1580
-----------------------------------
磁盘信息:
分区盘符:D
分区容量:10G
目录数:500
文件数:3000
-----------------------------------
第三种,利用dom4j方式解析xml文件,需要下载 dom4j-1.6.1.jar(见附件)
package Dom; import java.util.Iterator; import org.dom4j.Document; import org.dom4j.Element; import org.dom4j.io.SAXReader; public class Dom4jXML{ public static void main(String[] args) throws Exception { //创建文件对象 java.io.File file=new java.io.File("F:/workSapce/javaXML/src/Dom/test.xml"); //创建一个读取XML文件的对象 SAXReader reader=new SAXReader(); //创建一个文档对象 Document document=reader.read(file); //获取文件的根节点 Element element=document.getRootElement(); for(Iterator i=element.elementIterator("disk");i.hasNext();){ //获取节点元素 element=(Element)i.next(); String name=element.attributeValue("name"); String capacity=element.elementText("capacity");//取disk子元素capacity的内容 String directories=element.elementText("directories"); String files=element.elementText("files"); System.out.println("磁盘信息:"); System.out.println("分区盘符:"+name); System.out.println("分区容量:"+capacity); System.out.println("目录数:"+directories); System.out.println("文件数:"+files); System.out.println("-----------------------------------"); } } }
输出结果为: 磁盘信息:
分区盘符:C
分区容量:8G
目录数:200
文件数:1580
-----------------------------------
磁盘信息:
分区盘符:D
分区容量:10G
目录数:500
文件数:3000
-----------------------------------
小文档情况下还值得考虑使用DOM和JDOM
- jdom.jar (149.2 KB)
- 下载次数: 101
- dom4j-1.6.1.jar (306.5 KB)
- 下载次数: 146
评论
6 楼
longjun
2012-09-24
好
5 楼
caijingbin0207
2012-09-21
虽然仅是java解析xml的部分方法,但是很是受用呀,还有别忘了sax解析的速度很快!
4 楼
xiaoxiao_0311
2012-09-20
你这只是三种方法而已,不要说是三种方式好不?
3 楼
wiki_more
2012-09-20
你这个标题得改改 不是方式 是API, 至于方式 我记得有dom sax stax
2 楼
pengyan5945
2012-09-20
还有sax
1 楼
ufopw
2012-09-20
jsoup
发表评论
-
java集合类多条件排序
2012-11-05 21:17 8272package sort; import java.ut ... -
java模拟并发请求
2012-10-30 12:10 9828package httpClientTest; im ... -
Java中的值传递和引用传递
2012-10-23 01:01 1115Java中的值传递和引用传递 在java中实质只存在一种 ... -
java List 去重(两种方式)
2012-09-20 23:09 149338方法一: 通过Iterator 的remove方法 p ... -
GET方式传递中文参数乱码
2012-09-11 23:43 1135document.location="http:// ... -
link方式安装eclipse插件
2012-09-11 23:29 10891,准备工作 如果插件是一个单独的jar文件,那么你需 ... -
java二分法查找
2012-09-11 23:27 2965二 分查找是一种高效率线性表的查找算法。在查找时必须将线性表中 ... -
java遍历map
2012-09-04 00:02 1168import java.util.HashMap; impo ... -
jsp请求转发和请求重定向
2012-09-03 23:51 70141,如果当前的Servlet组件要把请求转发 ... -
java List中重复的字符串排序
2012-09-02 21:20 3894首先,先将字符串重复次数放入map中,然后再对map根据值进行 ... -
java读写txt文件
2012-09-01 00:39 13001,写文件 将文件的内容写到txt中 此处用启动一个线程 ... -
jdbc连接mysql数据库
2012-09-01 00:22 1375jdbc连接数据库都是几个步骤: 1)加载驱动 2)建立连接 ... -
java对mysql 中bigint的处理
2012-09-01 00:06 11595mysql 中的bigint 是能存放8个字节长度,因此如果想 ... -
java读取xml文件
2012-08-30 22:33 1290可以用两种方法实现: 1.利用jdk的dom进行读取 2.利 ... -
java 对map中的 value 排序
2012-08-29 00:38 9297package Map; import java.uti ... -
java对目录和文件的操作
2012-08-29 00:19 16311)遍历文件夹里面所有文件: 用递归,每次递归前先判断是否为文 ... -
java 获取请求 URL
2012-08-28 23:58 19357//java 获取请求 URL ...
相关推荐
XML解析四种解析方式 DOM SAX JDOM DOM4J
4种最主流、最全面、最详细的生成和解析xml的4种方式,包括Dom,Dom4j,Sax,JDom,读懂了绝对好用xml,非常好的入门项目,而且精心排版,逻辑清晰
Dom JDom 解析xml 文件 Dom JDom 解析xml 文件 Dom JDom 解析xml 文件 自己使用 最好不要下载
DOM、JDOM、DOM4J解析XML实例
用用4中方式(dom4j、jdom、dom、sax)解析xml
Dom4j是一个易用的、开源的库,用于XML,XPath和XSLT。它应用于Java平台,采用了Java集合框架并完全支持DOM,SAX和JAXP。
JAVA解析XML文件的其中两种方式,利用dom4j.jar及JDOm.jar两种JAR包解析
xml数据前后台解析;提供了两种方式:dom4j与jdom对xml文件、xml字符串的读与写操作;同时实现在前台用jquery解析xml,将数据展示在页面上,程序可以跑
java中四种操作(dom、sax、jdom、dom4j)xml方式详解与
Java解析XML汇总DOM_SAX_JDOM_DOM4j_XPath 实例
dom4j解析xml文件的压缩包,完整版。对jdom进行了封装。包含源码,jar包以及所需的全部内容。
java 解析xml 方法 sax jdom dom stAX
Java 解析XML性能分析Demo。包含了DOM解析,SAX解析, JDOM解析,DOM4J解析,JAXB解析例子。
java 操作xml文件(dom4j-1.6.1.jar和jdom.jar)
dom4j是一个Java的XML API,是jdom的升级品,用来读写XML文件的。dom4j是一个十分优秀的JavaXML API,具有性能优异、功能强大和极其易使用的特点,它的性能超过sun公司官方的dom技术,同时它也是一个开放源代码的...
Java 四种方式操作xml,包括xml,dom,sax,jdom这四种方式的一个简单例子。
java四种xml解析实例和jar包,包括dom,sax,dom4j,jdom等方式 java四种xml解析实例和jar包,包括dom,sax,dom4j,jdom等方式 是学习Java的xml解析的好例子,包括相应的dom4j.jar,jdom.jar等,自己整理的,物超所值啊,...
dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的。dom4j是一个非常非常优秀的Java XML API,具有性能优异、功能强大和极端易用使用的特点,同时它也是一个开放源代码的软件,可以在SourceForge上找到它。...
java语言操作xml(dom4j) 包括xml的创建、生成、修改
JAVA 解析XML和生成XML文档源码。比较全 1.DOM生成和解析XML文档 2.SAX生成和解析XML文档 3.DOM4J生成和解析XML文档 4.JDOM生成和解析XML