Foreach 字符串参数 PHP

问题描述 投票:0回答:1

我像这样解析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”获取可变图像?

php xml parsing xml-parsing
1个回答
0
投票

可以使用简单的属性数组访问来获取

internal-id
:

$flat['internal-id'] = (string) $offer['internal-id'];

对于计划,您可以使用 xpath 表达式:

$flat['png'] = (string) $offer->xpath('image[@tag="plan"]')[0];
© www.soinside.com 2019 - 2024. All rights reserved.