如何在PHP简单xml文档中为现有元素值添加“id”属性

时间:2013-05-14 08:02:58

标签: php attributes simplexml

以下这两行当前在XML文档中工作,以产生2个值:

    if (isset($images[0]->fname)) { $image1 = $theimgpath.'/'.$images[0]->fname; } else  {   $image1 = ''; }
    if (isset($images[1]->fname)) { $image2 = $theimgpath.'/'.$images[1]->fname; } else { $image2 = ''; }


$image1     current value working = url within xml document require assignment to <image id="1">
$image2         current value = url working url within xml document require assignment to <image   id="2">
$output .= "<url>".$image1."</url>\n";         example of current working value 

上面的代码片段目前在同一个xmldocument中工作的所需结果:

`$output .= "<property>\n";

$id = $xml["id"];       
$id = $xml->image['id'];

$output .= $string = <<<XML

<images>
<image id="1"><url>id”1”</url></image>
<image id="2"><url>id”2”</url></image>
 </images>
 XML;
    $output .= "</property>";
}
$output .= "</root>";`

1 个答案:

答案 0 :(得分:0)

SimpleXML库有方法addAttribute

   $image1->addAttribute('id', '1');
   $image2->addAttribute('id', '2');

但我建议使用DomDocument来处理xml它更强大


这是您需要的工作示例

<?php
    $xml = <<<XML
<images>
    <image><url>id"1"</url></image>
    <image><url>id"2"</url></image>
</images>
XML;
    $images = simplexml_load_string($xml);
    $images->image[0]->addAttribute('id',1);
    $images->image[1]->addAttribute('id',2);
    echo $images->asXML();
?>