Я пытаюсь проанализировать XML-файл с информацией о некоторых пользователях. Что-то вроде этогоКак найти элемент в определенном контексте с помощью DOMXPath в php?
users.xml
<?xml version="1.0" encoding="UTF-8"?>
<users>
<user>
<name>Alexander</name>
<email>[email protected]</email>
</user>
<user>
<name>Tyler</name>
<email>[email protected]</email>
</user>
</users>
Я использую DOMXpath
для извлечения всех пользователей внутри этого XML, и все это поле. В XML-файле, у меня есть 15 пользователей и когда поиск по всем полям около одного пользователя в этом коде
$username = $xpath->query ('//email', $users->item(0));
Я получил 15 длину, вместо 1. Я имею в виду query
ищет во всех XML вместо того, чтобы искать для фактический пользователь. Что я делаю неправильно?
xml_query.php
$xml = new DOMDocument();
$xml->loadXML($xml_content);
$xpath = new DOMXPath($xml);
$users = $xpath->query('//user');
var_dump($users->item(0));
$username = $xpath->query ('//email', $users->item(0));
var_dump($username);
'DOMXPath' аргумент должен быть типа' DOMDocument' не XML файл. – Mohammad
Я пропустил две полосы в моем коде, 'DOMXPath' имеет' DOMDocument' в конструкторе @Mohammad –
Удалить '//' из '// email' –