SimpleXML ile birden özelliklerini yeniden adlandırmak

0 Cevap php
<root>
  <gallery name="First"/>
  <gallery name="Second"/>
  <gallery name="Third"/>
</root>

Birden "ismini" yeniden adlandırmak için çalışıyorum seferde bağlıyor:

$rename = array();
foreach($_POST['name'] as $value) {
    $rename[] = $value;
}

$objXML = new SimpleXMLElement(XML_FILE_NAME, null, true);
$gallery = $objXML->xpath('/root/gallery/@name');
print_r($gallery);
print_r($rename);

$objXML->asXML(XML_FILE_NAME);

İade:

Array ( [0] => SimpleXMLElement Object ( [@attributes] => Array ( [name] => First ) ) [1] => SimpleXMLElement Object ( [@attributes] => Array ( [name] => Second ) ) [2] => SimpleXMLElement Object ( [@attributes] => Array ( [name] => Third ) ) )

Array ( [0] => First New [1] => Second New [2] => Third New )

Nasıl geri XML Yeni değerleri kaydetmek için php alabilirim? Başka bir foreach döngüsü ihtiyacı var mı? Kodu zaten çok karmaşık almak gibi görünüyor.

Ben bu çalışıyor, ama hiçbir zar ediyorum:

foreach( $objXML->xpath('/root/gallery/@name') as $gallery ) {
    $gallery = $_POST['name'];
}

0 Cevap