PHP XML - Belirli bir yerde bir XML düğümü ekleme

0 Cevap php

Ben XML dosyasında belirli bir konumda çocuklu bir düğüm eklemek istiyorum. Ben bunu nasıl yaparım?

Örneğin için. Ben bir XML varsa gibi:

<myvalues>
 <image name="img01">
    <src>test</src>
 </image>

 <image name="img02">
    <src>test</src>
 </image>

 <image name="img03">
    <src>test</src>
 </image>
</myvalues>

Ben eklemek istiyorum:

<image name="img11">
  <src>test2</src>
</image>

<image name="img01"> & arasında <image name="img02">. Bunu nasıl yaparsınız? Ben XML okumak için hemen SimpleXML kullanıyorum.

Teşekkürler.

EDIT: Ben aşağıdaki kod çalıştı. Ancak, yeni bir düğüm XML yapısı dışında XML altındaki ilave edilir.

$xml = new DomDocument();


$xml->preserveWhitespace = false;
 $xml->load('myXMLFile.xml');

 $newNode = $xml->createElement('tryimage');

 $xpath = new DOMXpath($xml);
 $elements = $xpath->query('/myvalues/image[name="img01"]');

 $refNode = $elements->item(0);

 $xml->insertBefore($newNode, $refNode->nextSibling);


 header('Content-Type: text/plain');
 echo $xml->saveXML();

Çıktı böyle bir şey:

<xml....>
   <myvalues>
     <image name="01">
     </image>
     .
     .
     .
   </myvalues>
<tryimage />

0 Cevap