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);
    	}
    
    }
    
     
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值