`

dom4j--XPath获取特定节点应用一例

阅读更多
  1. xml文件如下:
    <?xml version="1.0" encoding="GBK"?>
    
    <chat> 
      <messages> 
        <from>[系统公告]</from>  
        <face/>  
        <to/>  
        <content>&lt;font color='gray'&gt;叶明坚同同学走进了聊天室!&lt;/font&gt;</content>  
        <sendTime>2010-8-21 13:02:17</sendTime>  
        <isPrivate>false</isPrivate> 
      </messages>  
      <messages> 
        <from>叶明坚同同学</from>  
        <face>正义凛然的</face>  
        <to>所有人</to>  
        <content>&lt;font color='&gt;哈哈,陈步青同同学终于解决了中文乱码问题啦¥%#@%&lt;/font&gt;</content>  
        <sendTime>2010-8-21 13:03:00</sendTime>  
        <isPrivate>false</isPrivate> 
      </messages>  
      <messages> 
        <from>[系统公告]</from>  
        <face/>  
        <to/>  
        <content>&lt;font color='gray'&gt;陈步青走进了聊天室!&lt;/font&gt;</content>  
        <sendTime>2010-8-21 13:05:54</sendTime>  
        <isPrivate>false</isPrivate> 
      </messages>  
      <messages> 
        <from>陈步青</from>  
        <face>微笑着</face>  
        <to>叶明坚同同学</to>  
        <content>&lt;font color='&gt;告诉你个秘密,我终于解决了那个烦人的中文乱码问题啦&lt;/font&gt;</content>  
        <sendTime>2010-8-21 13:06:40</sendTime>  
        <isPrivate>true</isPrivate> 
      </messages>  
      <messages> 
        <from>[系统公告]</from>  
        <face/>  
        <to/>  
        <content>&lt;font color='gray'&gt;小牛顿走进了聊天室!&lt;/font&gt;</content>  
        <sendTime>2010-8-21 21:29:25</sendTime>  
        <isPrivate>false</isPrivate> 
      </messages>  
      <messages> 
        <from>[系统公告]</from>  
        <face/>  
        <to/>  
        <content>&lt;font color='gray'&gt;陈步青走进了聊天室!&lt;/font&gt;</content>  
        <sendTime>2010-8-21 21:29:51</sendTime>  
        <isPrivate>false</isPrivate> 
      </messages>  
      <messages> 
        <from>[系统公告]</from>  
        <face/>  
        <to/>  
        <content>&lt;font color='gray'&gt;hak走进了聊天室!&lt;/font&gt;</content>  
        <sendTime>2010-8-21 21:31:40</sendTime>  
        <isPrivate>false</isPrivate> 
      </messages>  
      <messages> 
        <from>小牛顿</from>  
        <face>严肃的</face>  
        <to>所有人</to>  
        <content>&lt;font color='&gt;大家一起吹水。。。。&lt;/font&gt;</content>  
        <sendTime>2010-8-21 21:32:54</sendTime>  
        <isPrivate>false</isPrivate> 
      </messages>  
      <messages> 
        <from>[系统公告]</from>  
        <face/>  
        <to/>  
        <content>&lt;font color='gray'&gt;蔡泽鑫走进了聊天室!&lt;/font&gt;</content>  
        <sendTime>2010-8-21 22:40:05</sendTime>  
        <isPrivate>false</isPrivate> 
      </messages>  
    </chat>
    
     
  2. java代码:
    package scau.netbeansTester;
    
    import java.util.Iterator;
    import java.util.List;
    
    import org.dom4j.Document;
    import org.dom4j.DocumentException;
    import org.dom4j.Element;
    import org.dom4j.Node;
    import org.dom4j.io.SAXReader;
    
    public class TestRootE {
    
    	/**
    	 * @param args
    	 * @throws DocumentException 
    	 */
    	public static void main(String[] args) throws DocumentException {
    		// TODO Auto-generated method stub
    		SAXReader reader = new SAXReader();
            Document document = null;       
            
            document = reader.read("TestRootE.xml");
            //获取指定目录下的所有<messages>节点
            List<Node> list = (List<Node>)document.selectNodes("//chat/messages");
            //依次取出每个<messages>节点
            for(Node n : list) {
    			Element messagesElement = (Element) n;
    			//取得每个<messages>节点下名为"sendTime"的节点
                String sendTime = messagesElement.element("sendTime").getText();
                p(sendTime);
    		}
            
    	}
    	public static void p(Object o ) {
    		System.out.println(o);
    	}
    
    }
    
     
分享到:
评论

相关推荐

    dom4j-1[1].6.1.jar jaxen-1[1].1-beta-6.jar

    DOM4J还支持XPath表达式,允许开发者通过简洁的字符串来选取XML文档中的特定部分。 接下来,我们讨论XPath。XPath是一种在XML文档中查找信息的语言,由W3C制定。它可以用来选取节点,比如元素、属性、文本等,也...

    dom4j帮助文档 + dom4j.jar + 使用案例

    DOM4J支持XPath表达式,可以快速定位XML文档中的特定节点。例如,`Document.selectNodes()`方法接受一个XPath表达式,返回匹配的节点列表。 5. **事件处理**: DOM4J还支持SAX事件处理,可以在解析过程中处理特定...

    dom4j参考资料

    DOM4j是一种广泛应用于Java项目的高效、强大且易于使用的XML API。作为开源软件,DOM4j在SourceForge等平台上可免费获取,并因其在性能、功能和易用性方面的卓越表现而备受推崇。尤其值得一提的是,DOM4j不仅被众多...

    java xml 解析包

    本篇将详细介绍使用Java进行XML解析的关键知识点,以dom4j-1.6.1为例。 1. **XML基础** XML是一种标记语言,常用于数据交换、配置存储等,其结构清晰,易于阅读和编写。XML文档由元素、属性、文本内容和命名空间等...

    dom4j 解析xml文件小例子

    4. 查询XML元素:DOM4J提供了XPath支持,可以方便地查询XML文档中的特定元素。 ```java String xpathExpression = "//element[@attribute='value']"; List&lt;Element&gt; matchedElements = document.selectNodes...

    使用DOM4J操作XML文档实例

    在本例中,提供的文件名是"jar",这通常代表一个包含DOM4J库的JAR文件。在Java项目中,可以通过Maven或Gradle等构建工具添加DOM4J依赖,或者手动将jar文件放入项目的lib目录。 四、DOM4J基本操作 1. 解析XML文件 ...

    jaxen-1.1-beta-6.zip

    DOM4J是一个非常灵活且功能强大的Java XML API,它提供了包括XML解析、文档构建、XPath和XSLT处理在内的全面解决方案。在Java程序中,结合Jaxen和DOM4J,我们可以轻松地使用XPath表达式查询XML文档,提取所需的数据...

    XPath测试程序

    在本例中,我们重点讨论如何使用HtmlAgilityPack库在.NET环境中进行XPath操作。 HtmlAgilityPack(HAP)是一个流行的.NET库,用于处理不规则的HTML文档。它提供了一个强大的DOM(Document Object Model)模型,使得...

    Java开源的xpath解析器Jsoupxpath.zip

    JsoupXpath 是一款纯Java开发的使用xpath解析html的解析器,xpath语法分析与执行完全独立,html的DOM树生成借助Jsoup,故命名为JsoupXpath.为了在java里也享受xpath的强大与方便但又苦于找不到一款足够强大的xpath...

    xml文件dom操作详解

    4. 每个XML属性是一个属性节点,如`id="bk101"`。 5. 注释是注释节点,例如`&lt;!-- 这是书籍信息 --&gt;`。 以书籍信息为例,XML文件可能如下所示: ```xml &lt;title&gt;Java编程指南 &lt;author&gt;John Doe &lt;year&gt;2005 ...

    解析xml文件导入数据,并在前端分页展示

    以下是一个简单的示例,展示如何使用DOM4J解析XML文件并获取特定节点: ```java import org.dom4j.Document; import org.dom4j.DocumentHelper; import org.dom4j.Element; // 加载XML文件 Document document = ...

    xercesc高级应用文档.txt

    在本例中,首先获取了 XML 文档的根节点,然后通过遍历子节点列表来访问各个元素。 ```cpp DOMNode* root = m_DOMParser-&gt;getDocument(); // 获取根节点 DOMNodeList* childList = root-&gt;getChildNodes(); // 获取...

    互联网金融爬虫怎么写-第一课 p2p网贷爬虫(XPath入门)

    互联网金融爬虫开发是一项在金融领域中逐渐受到重视的技术,它能够从互联网中自动抓取数据,为数据分析和决策提供支持。本系列教程的目的是帮助开发者掌握如何使用爬虫技术,特别是XPath语言,来爬取互联网金融相关...

    WebDriver培训

    这里使用`parent::node()`来获取具有特定ID属性节点的父节点。 ##### 实例(3):选取id=kw节点的所有标记为div的祖先节点 ```xpath //span/input[@id='kw']/ancestor::div //input[@id='kw']/ancestor::div //....

    用PHP代替JS玩转DOM的思路及示例代码

    `DOMXPath`类则是用于执行XPath查询,它可以在DOM树中搜索特定节点并进行遍历。 在本例中,我们想从一个HTML文件中提取特定信息并存入数据库。通常,如果使用正则表达式处理HTML文件,虽然可行,但往往会导致代码变...

    php爬虫抓取公司基本信息和联系人信息

    它提供了一种表达在文档中查找信息的方式,比如元素、属性或者包含特定文本的节点。在PHP中,我们可以使用DOMDocument和DOMXPath类来解析和查询HTML内容。首先,用`file_get_contents()`读取网页内容,然后`DOM...

    XML一百例

    在“XML一百例”中,我们将会深入探讨XML的各种应用场景和使用技巧,通过实例学习来掌握XML的基本语法和高级特性。 1. **XML基本结构** - XML文档由元素(Element)构成,元素是XML的最基本单位,例如`&lt;book&gt;`。 ...

    xerces-c-src_2_8_0安装&开发文档

    从`DOMDocument`对象中,可以使用`getDocumentElement()`方法获取到文档的第一个根节点。 ```cpp DOMElement* root = xmlDoc-&gt;getDocumentElement(); ``` ##### 7. 遍历文档结构 遍历XML文档结构有多种方法,包括...

    基于XML的批量数据处理与分析——以电子试卷为例.pdf

    XPath(XML Path Language)是一种用于对XML文档中的节点寻址的语言,它采用非XML表达式来定位节点。通过XPath表达式,可以选定指定的节点并进行各种操作,如获取节点的值或获取指定属性的值。XPath通常用作配置文件...

Global site tag (gtag.js) - Google Analytics