У меня есть следующий XML-файл, загруженный в php simplexml.
<adf> <prospect> <customer> <name part="first">Bob</name> <name part="last">Smith</name> </customer> </prospect> </adf>
с помощью
$customers = new SimpleXMLElement($xmlstring);
Это вернет «Боб», но как мне вернуть фамилию?
echo $customers->prospect[0]->customer->contact->name;
Вы можете получить доступ к различным элементам <name>
по номеру, используя синтаксис стиля массива.
$names = $customers->prospect[0]->customer->name; echo $names[0]; // Bob echo $names[1]; // Smith
Фактически, вы уже делаете это для элемента <prospect>
!
См. Также Basic SimpleXML Использование в руководстве.
Если вы хотите выбрать элементы на основе некоторых критериев, то XPath – это инструмент для использования.
$customer = $customers->prospect[0]->customer; $last_names = $customer->xpath('name[@part="last"]'); // always returns an array echo $last_names[0]; // Smith