jsoup与dom4j

<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
<property name="jdbcUrl" value="${url}" />
<property name="driverClass" value="${driver}" />
<property name="user" value="${username}" />
<property name="password" value="${password}" />
<property name="minPoolSize" value="5" />
</bean>


许多配置文件都是.xml结尾的,比如说上面的最常见spring.xml文件,要想解析这个文件,找到需要的节点上的属性的值,就要使用dom4j的SAXReader类


在dom4j包下有一个专门解析xml文件的类SAXReader

解析过程:
//要解析的xml文件的地址
File file = new File("F:\\workspase\\JsoupParse\\src\\spring.xml");
//创建解析工具
SAXReader reader = new SAXReader();
//读取xml文件,并返回一个document对象
Document document =reader.read(file);
//得到document文档的根元素
Element root=document.getRootElement();
//获取根元素root上的package的元素
Element pa=root.element("bean");
//获取这个元素的name属性值
System.out.println(pa.attributeValue("class"));
//从root根元素这个位置开始循环遍历
List<Element> eles=root.elements();


jsoup
jsoup和xpath都可以解析这种结构式文件,jsoup比xpath解析起来更加灵活,jsoup是用的jquery那一套语法,语法清晰易懂。下面是我的测试程序,一看就明白.
package com.testjsoup;
import java.io.File;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
public class JsoupTest {
public static void main(String[] args) throws Exception{
Document d=Jsoup.parse(new File("spring.xml"),"UTF-8");//必须使用这种方式解析
Element content = doc.getElementById("dataSource");//根据id查找
Elements links = content.getElementsByTag("bean ");//根据标签查找
for(Element el:d.select("bean")){
System.out.println("属性:"+el.select("property").text())

}
}

}
jsoup最大的威力其实不是解析.xml文件,而是爬取.html中的符合业务需求的信息。一般用在lucene或者solr项目当中。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值