考虑这个HTML:
<html>
<head>
</head>
<body>
<table>
<tr>
<td>
<h1>title</h1>
<h3>item 1</h3>
text details for item 1
<h3>item 2</h3>
text details for item 2
<h3>item 3</h3>
text details for item 3
</td>
</tr>
</table>
</body>
</html>
我对XPath并不十分熟悉,但在我看来,没有任何符号可以单独匹配“文本细节”部分。你能证实吗?
答案 0 :(得分:2)
使用强>:
/html/body/table/tr/td/h3/following-sibling::text()[1]
这意味着:获取每个h3
元素的第一个以下兄弟文本节点,该元素是每个tr
元素的子元素,该元素是每个table
元素的子元素。每个body
元素,它是html
顶级元素的子元素。
或者,如果您只知道所需文本节点是文档中所有h3
元素的紧随其后的兄弟节点,那么tis XPath表达式会选择它们:
//h3/following-sibling::text()[1]
答案 1 :(得分:1)
在Xml / Xpath的世界中
Text - 是一种元素节点。
所以考虑你的例子
TD有7个子节点
TD.getChild(3)应该返回“项目1的文本详细信息”值。
在XPath中 $ x // table / tr / td / text()[1]