php - DomCrawler FilterXPath查询

标签 php symfony xpath domcrawler

我有一些HTML,如下所示:

<html>
<body> 
... other html stuff ...
<form method="post" action="goSomewhere">
    <input type="hidden" value="something">
    <input type="hidden" value="something2">
<table>
    <tr><td><input type="checkbox" name="123">Stuff 1</td></tr>
    <tr><td><input type="checkbox" checked name="456">Stuff 2</td></tr>
    <tr><td><input type="checkbox" name="789">Stuff 3</td></tr>
</body> 
</html>


我正在尝试选择<form>中除具有特定名称(innerhtml,即是)的标记以外的所有内容。这是我正在使用的查询:

$query = "//form//td[not(normalize-space() = 'Stuff 2')]"; 


这样可以成功过滤掉特定的<td>内容,但是问题在于,它仅返回<td>内容。如您所见,其他<input>不在<table>中,我也需要这些。

有人可以帮忙查询吗?谢谢!

最佳答案

您正在寻找//form//td[not(normalize-space() = 'Stuff 2')]/input|//input[not(ancestor::table)]

关于php - DomCrawler FilterXPath查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34533698/

相关文章:

ruby-on-rails - cucumber Xpath 选择器

xpath - Jsoup css 选择器代码(包含 xpath 代码)

php - 按最新(最近)相关模型排序 [Laravel]

php - 本地主机中 SugarCRM 中的 SSL 错误

symfony - 为Symfony EventListener编写UnitTest

php - OAuthException : redirect_uri isn't an absolute URI. 检查 RFC 3986 (Symfony)

java - 在 YAML 嵌套数据中搜索值

javascript - Ajax 数组不会在下拉选择时填充

php - 关于存储/检索复杂页面数据的问题

symfony - 处理Symfony2 Controller 中Ajax中的错误