php5 dom: importieren einer node in ein anderes DOMDocument

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • php5 dom: importieren einer node in ein anderes DOMDocument

    hallo zusammen.

    ich moechte den firstChild des documentElement aus meinem ersten DOMDocument in das documentElement meines zweiten DOMDocument importieren.

    soweit funktioniert das auch, ausser wenn ich als erstes dokument ein xslt-stylesheet nehme. mit den daten eines anderen xml-files funktioniert das ganze wunderbar.

    folgender code wird verwendet:
    PHP Code:
    <?php

    header
    ('Content-Type: text/xml');
    $xml1 = new DOMDocument('1.0''UTF-8');
    $xml1->load('test.xsl');
    $node $xml1->documentElement->firstChild;

    $xml2 = new DOMDocument('1.0''UTF-8');
    $xml2->appendChild($xml2->createElement('root'));
    $xml2->documentElement->appendChild($xml2->importNode($nodeTRUE));
    echo 
    $xml2->saveXML(); die();

    ?>
    das zu importierende stylesheet:
    Code:
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0"
        xmlns="http://www.w3.org/1999/xhtml"
        xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
        <xsl:template match="/">
            <html><head></head><body>
                Erstes Template:<br/>
                <xsl:for-each select="/root/erste">
                    <strong>
                        <xsl:value-of select="name"/>
                    </strong>
                </xsl:for-each>
            </body></html>
        </xsl:template>
    </xsl:stylesheet>
    vielen dank schonmal im voraus
    Last edited by loci; 10-03-2005, 09:50.
    1101100 1101001 1100110 1100101 1101001 1110011 1100001 1100010 1101001 1110100 1100011 1101000

    /(bb|[^b]{2})/

  • #2
    problem ist geloest:

    PHP Code:

    <?php

    header
    ('Content-Type: text/xml');
    $xml1 = new DOMDocument('1.0''UTF-8');
    $xml1->load('test.xsl');
    $nodelist $xml1->documentElement->childNodes;

    $xml2 = new DOMDocument('1.0''UTF-8');
    $xml2->appendChild($xml2->createElement('root'));

    for (
    $i 0$i $nodelist->length$i++)
    {
    $xml2->documentElement->appendChild($xml2->importNode($nodelist->item($i), TRUE));
    }

    echo 
    $xml2->saveXML(); die();

    ?>
    1101100 1101001 1100110 1100101 1101001 1110011 1100001 1100010 1101001 1110100 1100011 1101000

    /(bb|[^b]{2})/

    Comment

    Working...
    X