<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项目当中。
<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项目当中。