使用属性作为条件将XML转换为Array

时间:2015-02-17 02:51:22

标签: arrays xml attributes

我需要添加到现有数组,将XML转换为PHP,但我需要根据特定字段的属性执行此操作。

数组使用:$details = simplexml_load_string($result);

源xml如下所示:

<MemoList><Memo Type="Sponsorship" SubType="Pet Sponsorship">Sponsored by Tom Jones</Memo></MemoList>

xml字符串中有许多不同的备忘录,但我只想发布带有“赞助”作为类型属性的备忘录。

我尝试了这个和许多不同的组合而没有任何运气。

foreach($details->MemoList->Memo as $memo) {
foreach($memo->attributes() as $type => $memovalue) {
if($type == 'Sponsorship') {
echo ".$memovalue.";
}
}
}

`

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

你可以这样做

 <?php
    $data='<MemoList><Memo Type="Sponsorship" SubType="none">sponsored by Tom jones</Memo></MemoList>';
    $details=simplexml_load_string($data);


    foreach($details->Memo as $memo) {
    if($memo['Type'] == 'Sponsorship') {
            echo "$memo";
                }   
            }

    ?>