2010-02-06 7 views
4

У меня есть GOT кусок HTML кода:Extract значение атрибута скрытого элемента ввода с помощью DOMXPath

<form method="post" action="/"> 
    <input type="hidden" name="example-name" value="example-value"> 
    <button type="submit">Submit</button> 
</form> 

Как извлечь значение скрытого ввода с помощью DOMXPath в PHP? Я попытался somethig так:

//$site - the html code 
$doc = new DOMDocument(); 
$doc->loadHTML($site); 
$xpath = new DOMXpath($doc); 

$kod = $xpath->query("//input[@name='example-name']"); 
foreach($kod as $node) 
$values[]=$node->nodeValue; 
return $values; 

Но он возвращает пустой массив. Где ошибка?

ответ

7

Попробуйте это, чтобы получить атрибут input элемента value с Примером именем в name атрибута

'//input[@name="example-name"]/@value' 

Результата

Array 
(
    [0] => example-value 
) 

Вашего XPath не выбрали ось атрибутов (Я думаю, что это то, что называется), но текстовая ось и поскольку вход не имеет текста, значение в массиве было пустым. Однако он нашел элемент.

Смежные вопросы