排除输入类型=" radio"使用Xpath的子节点

时间:2015-05-07 11:44:14

标签: html xml xpath contains

在解析https://www.gov.uk/contact/govuk的源代码时,我希望能够过滤出输入类型=" radio"的标签标签。作为使用Xpath的子节点。

我一直在尝试各种解决方案,如下所示:

$labels = $xpath->query('//label[not(contains(@type, "radio"))]');
$labels = $xpath->query('//label[not(contains(input[@type], "radio"))]');

除了具有子节点的那些之外,它们似乎都没有产生期望的结果,这是一组所有标签标签。

这是否可以使用Xpath,如果可以,怎么做?

2 个答案:

答案 0 :(得分:0)

<label>的xpath没有<input>的{​​{1}} 包含文字type的<{1}}:

"radio"

//label[not(input[contains(@type, "radio")])] 没有<label>的孩子<input>等于type

"radio"

答案 1 :(得分:0)

这也应该有效:

//label[not(input/@type='radio')]

//label[input/@type!='radio']