Nir*_*tzy 31 xpath element parent
我正在寻找正确的xpath语法来获取元素的特定父级.例:
root
|- div
| |
| |----??? ---|
| | |-a [class=1]
| | |- text[ A TEXT I DON'T WANT]
| |
| |
| |
| |-text[THE TEXT]
|
|-div
| |-text[THE TEXT I DON'T WANT]
|
|-div
| |-text[THE TEXT I DON'T WANT]
Run Code Online (Sandbox Code Playgroud)
我希望得到文本"THE TEXT",但是包含a [class=1]在同一个div中的文本.像这样的东西:
//div//a[@class=1]/text[contains(.,'A TEXT')]/parent::*/parent::*.... <till div element> /text
Run Code Online (Sandbox Code Playgroud)
ale*_*brn 61
鉴于XML
<?xml version="1.0"?>
<root>
<foo id="id1">
<foo id="i2">
<baz/>
</foo>
</foo>
</root>
你可以使用XPath表达式从baz 找到最近的祖先 foo元素:
//baz/ancestor::foo[1]
这将选择id"i2"的foo元素节点.
所以在你的例子中(如果我理解的话),一旦你得到了你想要的"a"元素,你可以通过将"/ ancestor :: div [1]"附加到你的"备份"树到最近的祖先div表达.
Dim*_*hev 10
用途:
/root/div[.//a[@class='1']]/text()
Run Code Online (Sandbox Code Playgroud)
这将选择任何文本节点,该节点是具有value属性的任何a元素的子节点, 并且(该元素)是任何元素的后代,该元素是名为top元素的子元素.class'1'adivroot
| 归档时间: |
|
| 查看次数: |
55033 次 |
| 最近记录: |