【发布时间】:2012-10-15 01:36:10
【问题描述】:
我正在尝试借助 DOM Xpath 解析 HTML 文档
我在 HTML 中有几个输入标签,例如
<form id="someid" action="login.jsf">
<input type="hidden" id="someid" name="somename" value="somevalue">
<input type="text" id="someid" name="somename" value="somevalue">
</form>
我有以下代码可以访问表单内的所有输入标签。
$inputFields = $xpath->query("//form[contains(@action,'login.jsf')]/input/@*");
它返回所有输入节点的所有属性,但我只需要名称和值属性,否则我将不得不围绕所有属性运行循环并丢弃除名称和值之外的所有其他属性。基本上我想“仅选择具有名称和值属性的所有输入节点。”
我需要根据 name 和 value 属性值创建一个 post 数组。
我试过了
$inputFields = $xpath->query("//form[contains(@action,'login.jsf')]/input/[@name | @value]");
但这不起作用。
【问题讨论】:
-
您需要属性还是需要同时具有这两个属性的标签?另请注意,联合运算符不适用于 the predicate,但(仅)用于 Node-sets。