xml dom xpath

xml文件

books.xml

    <inventory>  
            <book year="2000">  
                    <title>Thinking in Java</title>  
                    <author>TEST</author>  
                    <publisher>JQGYCBS</publisher>  
                    <isbn>80958</isbn>  
                    <price>98.95</price>  
            </book>  
      
            <book year="2005">  
                    <title>ROR</title>  
                    <author>TEST</author>  
                    <publisher>DZGYCBS</publisher>  
                    <isbn>0743416910</isbn>  
                    <price>65.99</price>  
            </book>  
      
            <book year="1995">  
                    <title>H</title>  
                    <author>King</author>  
                    <publisher>Sc</publisher>  
                    <isbn>0553862</isbn>  
                    <price>77.50</price>  
            </book>  
    </inventory>  
 

 

java代码

package book;  
  
import javax.xml.parsers.DocumentBuilder;  
import javax.xml.parsers.DocumentBuilderFactory;  
import javax.xml.xpath.XPath;  
import javax.xml.xpath.XPathConstants;  
import javax.xml.xpath.XPathExpression;  
import javax.xml.xpath.XPathFactory;  
  
import org.w3c.dom.Document;  
import org.w3c.dom.NodeList;  
  
public class Test {  
        public static void main(String[] args) throws Exception {  
                DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();  
                factory.setNamespaceAware(true); // never forget this!  
                DocumentBuilder builder = factory.newDocumentBuilder();  
                Document doc = builder.parse("src/books.xml");  
  
                XPathFactory pathFactory = XPathFactory.newInstance();  
  
                XPath xpath = pathFactory.newXPath();  
  
                XPathExpression pathExpression = xpath  
                                .compile("//book[author='TEST']/title/text()");  
  
                Object result = pathExpression.evaluate(doc, XPathConstants.NODESET);  
  
                NodeList nodes = (NodeList) result;  
                for (int i = 0; i < nodes.getLength(); i++) {  
                        System.out.println(nodes.item(i).getNodeValue());  
                }  
        }  
}  
 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值