这是一些xml:
<books>
<book>
<author>Tom</author>
<genres>
<genre>Science</genre>
<genre>Romance</genre>
</genres>
</book>
<book>
<author>Mike</author>
<genres>
<genre>Politics</genre>
<genre>Romance</genre>
</genres>
</book>
</books>
Run Code Online (Sandbox Code Playgroud)
如何定义一个xpath,以便拉出所有浪漫书籍?或者也许所有的浪漫和政治书籍?
kjh*_*hes 10
所有浪漫类型的书籍:
//book[genres/genre = 'Romance']
Run Code Online (Sandbox Code Playgroud)
所有浪漫与政治类型的书籍:
//book[genres/genre = 'Romance' and genres/genre = 'Politics']
Run Code Online (Sandbox Code Playgroud)
浪漫的所有书籍也属于政治类型(与and上面相同):
//book[genres/genre = 'Romance'][genres/genre = 'Politics']
Run Code Online (Sandbox Code Playgroud)
所有浪漫或政治类型的书籍:
//book[genres/genre = 'Romance' or genres/genre = 'Politics']
Run Code Online (Sandbox Code Playgroud)
浪漫或政治类型的所有书籍 (仅限XPath 2.0):
//book[genres/genre = ('Romance', 'Politics')]
Run Code Online (Sandbox Code Playgroud)
笔记:
//bookbook在根元素下找到所有元素; /books/book查找根元素的所有book子books元素.对于给定的XML,它们选择相同的元素./author到上述任何XPath中以选择
author指定条件的书籍元素.首先,确定一个基本的XPath工作: //book应该返回两个元素.
如果不是:
然后,从那里逐步添加XPath步骤:
//book[genres]应该选择book具有任何子genres
元素的元素.//book[genres/genre]应该选择book具有任何子
genres元素的元素,只有它依次具有genre子元素.
//book[genres/genre = 'Romance']应按要求选择浪漫类型的所有书籍.注意'Romance'必须引用; 否则,表达式将针对Romance子元素的字符串值进行测试,book并且肯定会失败.
你可以去//book[./genres/genre = 'Romance']和//book[./genres/genre = 'Romance' and ./genres/genre = 'Politics']分别,
| 归档时间: |
|
| 查看次数: |
6774 次 |
| 最近记录: |