<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并跟随兄弟姐妹所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)