0

以下の 2 行は現在、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”&lt;/url></image>
<image id="2"><url>id”2”&lt;/url></image>
 </images>
 XML;
    $output .= "</property>";
}
$output .= "</root>";`
4

1 に答える 1

1

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();
?>
于 2013-05-14T08:30:36.450 に答える