我像这样解析XML
<offer internal-id="3">
<floor>2</floor>
<name>Building 1</name>
<image>picture.jpg</image>
<image tag="plan">plan.png</image>
</offer>
我有这样的功能
$file = simplexml_load_file("feed.xml");
if($file === FALSE)
die("Error");
$xml = [];
foreach($file->offer as $offer)
{
if((string)$offer->{'location'}->{'address'} == 'Building 1')
{
$flat["floor"] = (string)$offer->{'floor'};
echo $flat['png'];
$xml[] = $flat;
}
}
它工作得很好,我可以获取“floor”参数,但是我如何才能变量提供“internal-id”并仅使用标签“plan”获取可变图像?
可以使用简单的属性数组访问来获取
internal-id
:
$flat['internal-id'] = (string) $offer['internal-id'];
对于计划,您可以使用 xpath 表达式:
$flat['png'] = (string) $offer->xpath('image[@tag="plan"]')[0];