如何添加“id”;属性为PHP simplexml文档中的现有元素值


How to add "id" attributes to exsisting element values in a PHP simplexml document

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

    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>";`

SimpleXML库有adddattribute方法

   $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();
?>