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?
DOMElement->__construct()
(PHP 5)
DOMElement->__construct() — Creates a new DOMElement object
Popis
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().
Parametre
- 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.
Príklady
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> */
?>
DOMElement->__construct()
geoffreyj dot lee at gmail dot com
20-Jul-2007 03:46
20-Jul-2007 03:46
"Dennis Shearin"
03-Jul-2007 07:17
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
07-May-2007 01:27
If you like to view an element simply do:
<?php
echo htmlentities($element->C14N());
?>
Undocumented but found ;)
