A pretty simple example showing how to create attributes and add values to them:
<?php
$doc = new DOMDocument('1.0', 'UTF-8');
$root = $doc->createElement('songs');
$doc->appendChild($root);
for($i=0;$i<10;$i++){
$root_child = $doc->createElement('song');
$root->appendChild($root_child);
$root_attr1 = $doc->createAttribute('url');
$root_child->appendChild($root_attr1);
$root_text = $doc->createTextNode('This is the root element!');
$root_attr1->appendChild($root_text);
$root_attr2= $doc->createAttribute('artist');
$root_child->appendChild($root_attr2);
$root_text = $doc->createTextNode('This is the root element!');
$root_attr2->appendChild($root_text);
$root_attr3 = $doc->createAttribute('track');
$root_child->appendChild($root_attr3);
$root_text = $doc->createTextNode('This is the root element!');
$root_attr3->appendChild($root_text);
}
print $doc->saveXML();
?>
This will output as:
<?xml version="1.0" encoding="UTF-8" ?>
<songs>
<song url="This is the root element!" artist="This is the root element!" track="This is the root element!" />
<song url="This is the root element!" artist="This is the root element!" track="This is the root element!" />
<song url="This is the root element!" artist="This is the root element!" track="This is the root element!" />
<song url="This is the root element!" artist="This is the root element!" track="This is the root element!" />
<song url="This is the root element!" artist="This is the root element!" track="This is the root element!" />
<song url="This is the root element!" artist="This is the root element!" track="This is the root element!" />
<song url="This is the root element!" artist="This is the root element!" track="This is the root element!" />
<song url="This is the root element!" artist="This is the root element!" track="This is the root element!" />
<song url="This is the root element!" artist="This is the root element!" track="This is the root element!" />
<song url="This is the root element!" artist="This is the root element!" track="This is the root element!" />
</songs>
DOMDocument::createAttribute
(PHP 5)
DOMDocument::createAttribute — Crée un nouvel attribut
Description
Cette fonction crée une nouvelle instance de la classe DOMAttr. Ce noeud ne sera pas affiché dans le document, à moins qu'il ne soit inséré avec DOMNode->appendChild().
Liste de paramètres
- name
-
Le nom de l'attribut.
Valeurs de retour
Le nouveau DOMAttr ou FALSE si une erreur survient.
Erreurs / Exceptions
- DOM_INVALID_CHARACTER_ERR
-
Émise si name contient un caractère invalide.
Voir aussi
- DOMNode::appendChild - Ajoute un nouveau fils à la fin des fils
- DOMDocument::createAttributeNS - Crée un nouvel attribut avec un espace de noms associé
- DOMDocument::createCDATASection - Crée un nouveau noeud cdata
- DOMDocument::createComment - Crée un nouveau noeud de commentaire
- DOMDocument::createDocumentFragment - Crée un nouveau fragment de document
- DOMDocument::createElement - Crée un nouveau noeud
- DOMDocument::createElementNS - Crée un nouveau noeud avec un espace de noms associé
- DOMDocument::createEntityReference - Crée un nouveau noeud de référence d'entité
- DOMDocument::createProcessingInstruction - Crée un nouveau noeud PI
- DOMDocument::createTextNode - Crée un nouveau noeud de texte
DOMDocument::createAttribute
chandrachur at elegantsystems dot net
24-Jul-2008 07:41
24-Jul-2008 07:41
boen dot robot at the-google-mail dot com
12-Nov-2006 06:43
12-Nov-2006 06:43
If you're looking for an easy way to create an attribute with a certain value, in a similar to createElement() manner, you should use the setAttribute() instead. Documentation and example is available below:
http://php.net/manual/en/domdocument.setattribute.php
