SAXReader简单实例解析HTML
2017-10-11 10:21
302 查看
转载自:http://blog.csdn.net/seayqrain/article/details/5024068#
使用SAXReader需要导入dom4j-full.jar包。
dom4j是一个Java的XML
API,类似于jdom,用来读写XML文件的。dom4j是一个非常非常优秀的Java XML API,具有性能优异、功能强大和极端易用使用的特点,同时它也是一个开放源代码的软件,可以在SourceForge上找到它。
举例:
xml内容:
解析:
rowlist是用Xpath表示的,可以参考文章:http://blog.csdn.net/hekaihaw/article/details/54376656
使用SAXReader需要导入dom4j-full.jar包。
dom4j是一个Java的XML
API,类似于jdom,用来读写XML文件的。dom4j是一个非常非常优秀的Java XML API,具有性能优异、功能强大和极端易用使用的特点,同时它也是一个开放源代码的软件,可以在SourceForge上找到它。
举例:
xml内容:
<?xml version="1.0" encoding="GB2312"?> <data> <row queryDTO.enterpriseId="gfd" queryDTO.loginName="gdfg" queryDTO.state="0"/> </data>
解析:
import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.util.Iterator; import java.util.List; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.Element; import org.dom4j.io.SAXReader; import org.dom4j.tree.AbstractAttribute; public class ReadXMLTest { public static void main(String[] args){ File xmlFile = new File("C:/s.xml"); FileInputStream fis = null; try { fis = new FileInputStream(xmlFile); } catch (FileNotFoundException e) { e.printStackTrace(); System.err.println("File is not exsit!"); } SAXReader saxReader = new SAXReader(); List rowList = null; try { //生成文档对应实体 Document doc = saxReader.read(fis); //获取指定路径下的元素列表,这里指获取所有的data下的row元素 rowList = doc.selectNodes("//data/row"); } catch (DocumentException e) { e.printStackTrace(); } for(Iterator iter = rowList.iterator();iter.hasNext();){ //获得具体的row元素 Element element = (Element)iter.next(); //获得row元素的所有属性列表 List elementList = element.attributes(); for(Iterator iter1 = elementList.iterator();iter1.hasNext();){ //将每个属性转化为一个抽象属性,然后获取其名字和值 AbstractAttribute aa = (AbstractAttribute)iter1.next(); System.out.println("Name:"+aa.getName()+";Value:"+aa.getValue()); } //输出: //Name:queryDTO.enterpriseId;Value:gfd //Name:queryDTO.loginName;Value:gdfg //Name:queryDTO.state;Value:0 System.out.println(element.getName()); //输出: //row // 取得row元素的queryDTO.enterpriseId属性的值 System.out.println(element.attributeValue("queryDTO.enterpriseId")); //输出: //gfd //如果element下有子元素,(类似width="**"),要想获得该子元素的值,可以用如下方法 System.out.println(element.elementText("width"));//因为没有,所以输出为null。 } } }
rowlist是用Xpath表示的,可以参考文章:http://blog.csdn.net/hekaihaw/article/details/54376656
相关文章推荐
- html解析工具jsoup结合模版引擎FreeMarkers的简单实例
- android使用Jsoup进行html数据解析简单实例浅析
- Jsoup解析HTML获取数据的简单实例
- jsoup解析HTML及简单实例
- C# HTML解析工具HtmlAgilityPack使用实例(二)--Web页面
- HTMLParser解析HTMl标签的实例
- HTML与CSS简单页面效果实例
- JQuery解析HTML、JSON和XML实例详解
- Yii CHtml的部分实例简单操作
- Python实现简单HTML表格解析的方法
- 用jsoup解析word文档转变的html项目实例
- Jsoup解析HTML实例及文档方法详解
- Ruby nokogiri 解析xml的简单实例
- 一个最简单的AJAX实例及解析
- php 简单的路由解析 可以随意设置后缀(html,do,shtml,aspx等等)
- html简单 字母数字 加密 解密 实例
- Python HTMLParser模块解析html获取url实例
- Java解析XML文档(简单实例)——dom解析xml
- solr 应用全面解析,简单的应用,多实例,分布式索引分发,如何在客户端配置注册多实例
- HTML 简单教程-实例003 HTML段落<p>标签