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

search for in the

DOMElement->getAttribute()> <DOMDocumentFragment->appendXML()
Last updated: Sun, 25 Nov 2007

view this page in

DOMElement->__construct()

(PHP 5)

DOMElement->__construct() — Creates a new DOMElement object

설명

DOMElement
__construct ( string $name [, string $value [, string $namespaceURI ]] )

Creates a new DOMElement object. This object is read only. It may be appended to a document, but additional nodes may not be appended to this node until the node is associated with a document. To create a writeable node, use DOMDocument->createElement() or DOMDocument->createElementNS().

매개변수

name

The tag name of the element. When also passing in namespaceURI, the element name may take a prefix to be associated with the URI.

value

The value of the element.

namespaceURI

A namespace URI to create the element within a specific namespace.

예제

Example#1 Creating a new DOMElement

<?php

$dom 
= new DOMDocument('1.0''iso-8859-1');
$element $dom->appendChild(new DOMElement('root'));
$element_ns = new DOMElement('pr:node1''thisvalue''http://xyz');
$element->appendChild($element_ns);
echo 
$dom->saveXML(); /* <?xml version="1.0" encoding="iso-8859-1"?>
<root><pr:node1 xmlns:pr="http://xyz">thisvalue</pr:node1></root> */

?>



add a note add a note User Contributed Notes
DOMElement->__construct()
geoffreyj dot lee at gmail dot com
20-Jul-2007 03:46
Dennis:

DOMDocument::saveXML can take in a node as a parameter and output the XML as a string. Perhaps this is what you were looking for?
&#34;Dennis Shearin&#34;
03-Jul-2007 07:17
I'm just starting to get into the DOM methods and finding it pretty challenging.

One of the obstacles is that once you've got a node, there doesn't seem to be any way to see what's inside it (at least I haven't been able to find it). You'd expect (I did) print_r to show you the properties (attributes) of the node, but all it tells you is the object type.

So I wrote this little function to mimic the way I think print_r should work:

<?php
function nodeDump($node)
{
   
$output = print_r($node, TRUE);
   
$output = str_replace(")\n", '', $output);        
   
$output .= '    ' . '[tagName] => ' . $node->tagName . " \n";
   
   
$numOfAttribs = $node->attributes->length;       
    for (
$i = 0; $i < $numOfAttribs; $i++)
    {
       
$output .= '    [' . $node->attributes->item($i)->nodeName . '] => ' . $node->attributes->item($i)->nodeValue . " \n";
    }
   
   
$output .= '    [nodeValue] => ' $node->nodeValue;   
   
$output .= ')';
    return
$output;
}
?>

OK - to really work like print_r it would also go through all the childNodes recursively, but it's a start.
adar at darkpoetry dot de
07-May-2007 01:27
If you like to view an element simply do:

<?php
echo htmlentities($element->C14N());
?>

Undocumented but found ;)

 
show source | credits | stats | sitemap | contact | advertising | mirror sites