У меня есть схемы XML, который выглядит следующим образом:Попадая имен элементов/значение с XML/Xpath/PHP
<xml>
<user id="1">
<first_name>Bill</first_name>
<last_name>Steve</last_name>
<phone_numbers>
<work>xxx-xxx-xxxx</work>
<home>xxx-xxx-xxxx</home>
</phone_numbers>
</user>
<user id="2">
........
</user>
</xml>
Im работая на разбор всех этой информации в PHP с использованием DOM. Ex.
$userInfo = $doc->getElementsByTagName("user");
foreach($userInfo as $row)
{
$first_name = $row->getElementsByTagName("first_name");
}
Когда я пытаюсь вставить это, чтобы выбрать номера телефонов, однако я получаю сообщение об ошибке. Я попытался использовать XPath, чтобы выбрать номера телефонов с одинаковыми проблемами. Я пытался что-то вдоль линий
$userInfo = $doc->getElementsByTagName("user");
foreach($userInfo as $row)
{
$phoneInfo = $row->getElementsByTagName("phone_numbers");
foreach($phoneInfo as $row2)
{
$work = $row2->getElementsByTagName("work");
}
}
Im интересно, если Im делать что-то в корне неправильно, или как получить это происходит. Я отрывал свои волосы уже несколько часов.
Работает для меня! Какой PHP вы используете? –
'getElementsByTagName' возвращает' DOMNodeList'. Вы уверены, что можете перебирать его через foreach? (Просто спрашиваю) – Jonas
Не существует использования XPath. Retagging –