html – XPath:选择self并跟随兄弟姐妹

html – XPath:选择self并跟随兄弟姐妹,第1张

概述<div> <dt> Test 1 </dt> <dd> </dd> <dt> Test 2 </dt> <dd> </dd></div> 到目前为止我已经编写了这个XPath //dt[contains(text(), "Test")]/self::dt|following-sibling::dd
<div>    <dt>        Test 1    </dt>    <dd>    </dd>    <dt>        Test 2    </dt>    <dd>    </dd></div>

到目前为止我已经编写了这个XPath

//dt[contains(text(),"Test")]/self::dt|following-sibling::dd

但这并没有带来dt和dd,只是dt.

解决方法 如果它必须是单个XPath 1.0表达式,那么你将不得不说

//dt[contains(.,'Test')] | //dt[contains(.,'Test')]/following-sibling::dd[1]

最后的[1]很重要,因为没有它会提取所有dd元素,这些元素遵循包含“测试”的dt,即给出

<div>    <dt>        Test 1    </dt>    <dd>        Foo    </dd>    <dt>        Something else 2    </dt>    <dd>        bar    </dd></div>

没有[1]的版本将匹配三个节点,dt包含“Test 1”以及“Foo”和“bar”dd元素.使用[1],您将只能正确地获得“Test 1”和“Foo”.

但是,根据您使用XPath的确切方式,首先选择可能会更清楚

//dt[contains(.,'Test')]

然后迭代匹配的节点,并进行评估

. | following-sibling::dd[1]

依次在每个节点的上下文中.

总结

以上是内存溢出为你收集整理的html – XPath:选择self并跟随兄弟姐妹全部内容,希望文章能够帮你解决html – XPath:选择self并跟随兄弟姐妹所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1064657.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存