例如,我有以下XML文件:
<?xml version="1.0" encoding="ISO-8859-1"?>
<bookstore>
<book>
<title lang="eng">Harry Potter</title>
<price>29.99</price>
</book>
<book>
<title lang="eng">Learning XML</title>
<price>39.95</price>
</book>
</bookstore>
我想查询书籍并返回以下文字:
<title lang="eng">Harry Potter</title>
<price>29.99</price>
XPath有可能吗?如果是,我该怎么做呢?
谢谢。
答案 0 :(得分:2)
如果你只想要第一本书的子节点,你可以这样做:
//book[1]/*
或者更明确一点:
/bookstore/book[1]/*
答案 1 :(得分:1)
XPath表达式可以选择您想要的节点,但序列化取决于托管XPath及其API的编程语言(如XSLT,C#,PHP,Java)。( 此XPath表达式: 精确选择所需节点: 上面的XPath表达式,用简单的英语表示: 选择作为第一个(按文档顺序)/*/book[1]/*
<title lang="eng">Harry Potter</title>
<price>29.99</price>
book
元素的子元素的所有元素,该元素是XML文档的顶级元素(无论其名称是什么)的子元素。