2010-03-03 15 views
8

si tiene algo como,PHP SimpleXML, cómo establecer atributos?

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

¿Cómo cambiar los atributos de, por ejemplo, hola ID 2, a name = "William"? O el título hola a hola?

Muchas gracias por su atencion, H'

Respuesta

15

Recuerde que su documento XML tiene que tener un elemento raíz:

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

Para guardar el uso de archivos asXML($filename)

1

Si desea para establecer un atributo en el elemento raíz usando simplexml, haría esto:

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

Sin embargo, para el ejemplo enumerado, el póster anterior es correcto; necesitas agregar un elemento de nivel superior.

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

Creo que esta es otra forma de editar el documento XML que tiene allí.
Este método que uso funcionará con el archivo XML proporcionado.
Puede acceder a la etiqueta raíz en forma de matriz como lo haría en el "primer" ejemplo.
Esto le permite no tener que ir a las etiquetas.

Cuestiones relacionadas