加入2个XPath查询

Ali*_*xel 2 html php xpath dom input

鉴于以下XPath查询,我在XPath中遇到了困难.

$xpath->query('//input[@name="' . $field . '"]');
$xpath->query('//select[@name="' . $field . '"]');
Run Code Online (Sandbox Code Playgroud)

有可能将它们组合成一个单一的查询吗?我想获得该字段的值,但是我不知道该字段是否为输入,select,textarea ...

我现在这样做的方式是这样的:

$input = $xpath->query('//input[@name="' . $field . '"]');

if (empty($input) === true)
{
    $select = $xpath->query('//select[@name="' . $field . '"]');

    if (empty($select) === true)
    {
        // ...
    }
}
Run Code Online (Sandbox Code Playgroud)

然而,它似乎很麻烦,我敢肯定必须有一种方法将所有查询合并为一个.

Cha*_*ion 5

使用'|' 加入查询.

$v = '[@name="' . $field . '"]';
$input = $xpath->query('//input' . $v. ' | //select' . $v);

if (empty($input) === true)
{
     // ...    
}
Run Code Online (Sandbox Code Playgroud)

编辑:我想加入这个以供参考.http://www.w3schools.com/XPath/xpath_operators.asp