我在这里遇到了很多困难。鉴于以下XPath查询:
$xpath->query('//input[@name="' . $field . '"]');
$xpath->query('//select[@name="' . $field . '"]');
是否可以将它们合并为一个查询?我想获得该字段的值,但是我不知道该字段是否为输入,选择,textarea ......
我现在这样做的方式是这样的:
$input = $xpath->query('//input[@name="' . $field . '"]');
if (empty($input) === true)
{
$select = $xpath->query('//select[@name="' . $field . '"]');
if (empty($select) === true)
{
// ...
}
}
然而,这似乎很麻烦,我确信必须有办法将所有查询合并为一个。
答案 0 :(得分:5)
使用'|'加入查询。
$v = '[@name="' . $field . '"]';
$input = $xpath->query('//input' . $v. ' | //select' . $v);
if (empty($input) === true)
{
// ...
}
编辑: 以为我会添加这个以供更多参考。 http://www.w3schools.com/XPath/xpath_operators.asp