PHP SimpleXML, nasıl özelliklerini ayarlamak için?

3 Cevap php

Eğer, böyle bir şey var ise

<hello id="1" name="myName1">
 <anotherTag title="Hello">
 </anotherTag>
</hello>
<hello id="2" name="myName2">
 <anotherTag title="Hi">
 </anotherTag>
</hello>

Örneğin, merhaba isim id 2, = "William" özelliklerini değiştirmek nasıl? Ya merhaba için başlık hi?

Thanks a lot for your atention, H'

3 Cevap

Unutmayın, XML belgesinin kök elemanı olmak zorunda:

$xml = simplexml_load_string("<root>$string</root>");
$xml->hello[1]['name'] = 'John Doe';
$xml->hello[1]->anotherTag['title'] = 'Hello';
echo $xml->asXml();

Dosyası kullanımı asXML($filename) kaydetmek için

Eğer SimpleXML kullanarak kök öğesi bir nitelik istiyorsanız bu yapardı:

$xml['name'] = "william";

Ancak, belirtilen örnek için önceki poster doğrudur; Eğer bir üst düzey öğesi eklemek gerekir.

$xml[0]['name'] = "newname";

Ben bu var orada XML belge düzenleme başka bir yolu olduğuna inanıyorum.
Ben kullanmak Bu yöntem sağlanan XML dosyası ile birlikte çalışacaktır. O yaptığınız gibi dizi-şeklinde kök etiketi erişebilirsiniz />
Bu onu etiketleri aşağı gitmek zorunda değilsiniz sağlar.