例如,如果我有
<form name="blah">
<input name="1"/>
<input name="2"/>
<table>
<tr>
<td>
<unkown number of levels more>
<input name="3"/>
</td>
</tr>
<table>
</form>
如何组合一个返回输入 1,2 和 3 的查询?
编辑:我应该注意我对抓取页面上的所有输入元素不感兴趣,我只想要作为特定表单的子元素的所有输入元素,所以“//”就出来了。
最佳答案
使用 //
搜索不分级别。请记住,这是一个“昂贵的”搜索。因此,您可以指定的上下文越多,XPath 调用它的速度就越快。
/html/path/to/form//input
更可取。如果您在表单的上下文中,那就更好了。您的 XPath 查询看起来更像:
form//input
或者如果你只是想要'blah'形式的 child :
form[@name='blah']//input
关于xml - 如何从 XPath 中的标记中选择一个未知层数的节点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1689712/