PHP
downloads | documentation | faq | getting help | mailing lists | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

SimpleXMLElement->addChild()> <Fonctions SimpleXML
Last updated: Fri, 14 Nov 2008

view this page in

SimpleXMLElement->addAttribute()

(No version information available, might be only in CVS)

SimpleXMLElement->addAttribute() Ajoute un attribut à l'élément SimpleXML

Description

SimpleXMLElement
void addAttribute ( string $name , string $value [, string $namespace ] )

Ajoute un attribut à l'élément SimpleXML.

Liste de paramètres

name

Le nom de l'attribut à ajouter.

value

La valeur de l'attribut.

namespace

Si spécifié, l'espace de nom auquel l'attribut appartient.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Ajoute des attributs et enfants à un élément SimpleXML

<?php

include 'example.php';

$sxe = new SimpleXMLElement($xmlstr);
$sxe->addAttribute('type''documentary');

$movie $sxe->addChild('movie');
$movie->addChild('title''PHP2: More Parser Stories');
$movie->addChild('plot''This is all about the people who make it work.');

$characters $movie->addChild('characters');
$character  $characters->addChild('character');
$character->addChild('name''Mr. Parser');
$character->addChild('actor''John Doe');

$rating $movie->addChild('rating''5');
$rating->addAttribute('type''stars');

echo 
$sxe->asXML();

?>



SimpleXMLElement->addChild()> <Fonctions SimpleXML
Last updated: Fri, 14 Nov 2008
 
add a note add a note User Contributed Notes
SimpleXMLElement->addAttribute()
khishigbaatar at 2xcoding dot com
12-Nov-2008 10:44
simpleXML have only read/write methods. Then how to remove attributes in node?
There is a simpe way to remove attribute without DOM extension. Use unset();

Example:
if "samlpe.xml" contains
<?xml version="1.0"?>
<books>
    <book author="unknown">The Secret History of the Mongols</book>
    <book author="Jack Weatherford">Genghis Khan and the Making of the Modern World</book>
    <book author="David Morgan">The Mongols (The Peoples of Europe)</book>
    <book author="Stephen Turnbull">Mongol Warrior 1200-1350</book>
    <book author="Marco Polo">The Travels of Marco Polo</book>
    <book author="J. J. Saunders">The History of Mongol Conquests</book>
</books>

<?php
// load xml file
$xml = simplexml_load_file("sample.xml");

// remove first book's attribute
unset($xml->book[0][author]);

// write xml file
$xml->asXML("sample.xml");
?>

Now "sample.xml" is:
<?xml version="1.0"?>
<books>
    <book>The Secret History of the Mongols</book>
    <book author="Jack Weatherford">Genghis Khan and the Making of the Modern World</book>
    <book author="David Morgan">The Mongols (The Peoples of Europe)</book>
    <book author="Stephen Turnbull">Mongol Warrior 1200-1350</book>
    <book author="Marco Polo">The Travels of Marco Polo</book>
    <book author="J. J. Saunders">The History of Mongol Conquests</book>
</books>

That's it.
markvanstraten at gmail dot om
28-Oct-2008 05:13
Please note: currently this function does not return the object on which it is executed so function chaining is not possible.
cbrand at dodgeit dot com
21-Mar-2007 12:49
It may be helpful to note that the addAttribute method checks the length of the fields to determine whether or not they are empty.  In otherwords if you are trying to addElement("patent_holder", "") this will fail as the strlen is 0.

SimpleXMLElement->addChild()> <Fonctions SimpleXML
Last updated: Fri, 14 Nov 2008
 
 
show source | credits | sitemap | contact | advertising | mirror sites