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 — Create new attribute
Opis
This function creates a new instance of class DOMAttr. Ten węzeł nie pojawi się w dokumencie dopóki nie zostanie wstawiony, np. metodą DOMNode->appendChild().
Parametry
- name
-
The name of the attribute.
Zwracane wartości
The new DOMAttr or FALSE if an error occured.
Błędy/Wyjątki
- DOM_INVALID_CHARACTER_ERR
-
Raised if name contains an invalid character.
Zobacz też:
- DOMNode::appendChild - Adds new child at the end of the children
- DOMDocument::createAttributeNS - Create new attribute node with an associated namespace
- DOMDocument::createCDATASection - Create new cdata node
- DOMDocument::createComment - Create new comment node
- DOMDocument::createDocumentFragment - Create new document fragment
- DOMDocument::createElement - Create new element node
- DOMDocument::createElementNS - Create new element node with an associated namespace
- DOMDocument::createEntityReference - Create new entity reference node
- DOMDocument::createProcessingInstruction - Creates new PI node
- DOMDocument::createTextNode - Create new text node
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
