3

我将以下 XML 文件加载到 php simplexml 中。

<adf>
<prospect>
<customer>
<name part="first">Bob</name>
<name part="last">Smith</name>
</customer>
</prospect>
</adf>

使用

$customers = new SimpleXMLElement($xmlstring); 

这将返回“Bob”,但我如何返回姓氏?

echo $customers->prospect[0]->customer->contact->name;
4

1 回答 1

12

您可以<name>使用数组样式的语法按编号访问不同的元素。

$names = $customers->prospect[0]->customer->name;

echo $names[0]; // Bob
echo $names[1]; // Smith

事实上,你已经<prospect>在为元素做这件事了!

另请参阅手册中的Basic SimpleXML Usage


如果您想根据某些标准选择元素,那么XPath就是要使用的工具。

$customer   = $customers->prospect[0]->customer;
$last_names = $customer->xpath('name[@part="last"]'); // always returns an array
echo $last_names[0]; // Smith
于 2012-08-15T20:09:29.543 回答