`

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


分享到:
评论

相关推荐

    dom4j-jdom封装和解析例子

    dom4j,jsoup,jdom,w3cdom,xstream使用代码工程 package ivyy.taobao.com.dom4j; import ivyy.taobao.com.entity.Address; import ivyy.taobao.com.entity.Location; import ivyy.taobao.com.entity.Point; import ...

    jsoup+httpclient j简单爬虫

    JSoup 将网页内容解析为一个复杂的 DOM 树结构,使得开发者可以通过 CSS 选择器或者直接的节点遍历来查找、提取和修改数据。 例如,要从一个网页中抓取所有的段落(`&lt;p&gt;` 标签),你可以使用以下 JSoup 代码: ```...

    html dom jsoup httpclient

    `commons-logging-1.1.3.jar`是Apache Commons Logging库,提供一个简单的接口来记录日志信息,同时可以适配多种底层日志实现,如log4j或java.util.logging。 `httpmime-4.3.4.jar`是HttpClient的一个扩展,提供了...

    jsoup-1.11.2.rar

    ### 4. 应用场景 - **Web抓取**:jsoup是抓取和分析网页内容的理想工具,尤其适用于简单的数据抓取任务,如获取商品价格、新闻标题等。 - **数据提取**:在爬虫项目中,jsoup可以帮助提取结构化数据,如用户评论、...

    jsoup 取html信息校验xml数据

    这一步骤可能涉及到XPath或XSLT,尽管这些不是JSoup内置的功能,但可以通过集成其他Java XML库(如JAXB或DOM4J)实现。 4. **转化结果为HTML**:最后,校验的结果可能以HTML的形式呈现,以便用户能以友好的格式查看...

    JsoupXPath的所有依赖的jar文件

    Simple Logging Facade for Java (SLF4J) 提供一个简单统一的接口,允许最终用户在部署他们的应用时插入所需的日志框架。在JsoupXPath中,这个库用于日志记录,帮助开发者追踪程序运行时的状态和错误信息,便于调试...

    itextpdf.jar包与Jsoup.jar包

    1. **解析HTML**:Jsoup能够将HTML代码解析为一个可操作的DOM树结构,方便开发者遍历和提取数据。 2. **CSS选择器**:Jsoup支持CSS选择器,使得选取HTML元素变得简单,类似于在浏览器中使用开发者工具操作网页。 3. ...

    Jsoup解析XML

    Jsoup是一款Java库,设计用于处理HTML和XML文档,它提供了非常方便的API来抓取、解析、修改以及清理HTML...然而,如果需要更高级的XML处理功能,如XPath表达式支持,可能需要考虑使用更专业的XML库,如JAXB或DOM4J。

    解析xml文件jsoup.rar

    然而,对于复杂的XML文档,可能需要更专业的库如JDOM或DOM4J。 ```java Document doc = Jsoup.parse(xmlString, "text/xml", "", Parser.xmlParser().namespaceAware(true)); ``` ### 5. 性能优化 对于大量XML...

    java jsoup应用爬取数据存储数据库及日志开关

    总的来说,Jsoup在Java爬虫中的作用是解析和提取HTML数据,而数据库(如通过JDBC)用于持久化抓取的数据,日志系统(如Log4j)则帮助监控和调试爬虫行为。通过结合这三个方面,可以构建出高效、可维护的网络数据抓取...

    基于jsoup的SpringBoot爬虫demo

    6. **日志处理**:可能使用Log4j、SLF4J等日志框架,记录爬虫的运行情况。 **集成MySQL** 在项目中,使用MySQL作为数据存储,可以通过Spring Data JPA或MyBatis进行数据操作。需要在`pom.xml`中添加MySQL的依赖,...

    Jsoup-1.72极网络爬虫需要包

    2. **commons-logging-1.2.jar**:这是Apache Commons Logging库,提供了一个接口层,使得应用程序可以使用多种日志框架,如Log4j、Java内置的日志等。在网络爬虫中,日志记录对于调试和监控爬虫行为至关重要。 3. ...

    Java网络爬虫小说下载器。.zip

    使用httpclient,jsoup,dom4j,json-lib,SWT创建的可下载小说的网络爬虫项目。 软件开发设计:应用软件开发、系统软件开发、移动应用开发、网站开发C++、Java、python、web、C#等语言的项目开发与学习资料 硬件与...

    Jsoup网络爬虫

    这个DOM树与浏览器解析HTML的方式类似,允许我们通过CSS选择器来定位我们需要的数据。例如,我们可以使用`select()`方法来选取特定的HTML元素,如`doc.select("h1")`将获取页面上的所有一级标题。 Jsoup还提供了...

    java解析工具包

    本文将深入探讨四个流行的Java解析库:Fastjson、Dom4j、Jdom和Jsoup,它们各自具有独特的优势和适用场景。 首先,Fastjson是阿里巴巴开源的一个高性能的JSON库。它提供了极简的API,使得在Java对象和JSON数据之间...

    crawler4j源码

    6. **深度限制与并发控制**:`crawler4j`允许设置爬取深度和并发度,以防止过度负载目标服务器。 7. **配置文件**:`src`目录下的配置文件(如`config.properties`)用于设定爬虫的参数,如启动的爬虫线程数、请求...

    微信开发包

    api-1.5.10、log4j-1.2.15、json-lib-2.2.3-jdk13、gson-2.2.4、ezmorph-1.0.6、dom4j-1.6.1、commons-logging-1.0.4、commons-lang-2.3、commons-collections-3.2.1、commons-beanutils-1.7.0、jsoup-1.6.2、...

    java解析html

    import org.jsoup.Jsoup; import org.jsoup.nodes.Document; Document doc = Jsoup.connect("http://example.com").get(); Elements elements = doc.select("div.someClass"); ``` 2. **HTMLParser** - 这是一个...

    手把手教学Android用jsoup解析html实例

    jsoup是一款Java库,专门用于解析HTML,它提供了简洁的API,让我们能够方便地通过DOM、CSS选择器以及类似jQuery的方式来操作HTML内容。本文将手把手教你如何在Android项目中使用jsoup解析HTML。 首先,了解jsoup的...

    Java网络爬虫小说下载器.zip

    使用httpclient,jsoup,dom4j,json-lib,SWT创建的可下载小说的网络爬虫项目。 爬虫(Web Crawler)是一种自动化程序,用于从互联网上收集信息。其主要功能是访问网页、提取数据并存储,以便后续分析或展示。爬虫...

Global site tag (gtag.js) - Google Analytics