• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • XSLTProcessor::transformToDoc()

    (PHP 5, PHP 7)

    Transform to a DOMDocument

    说明

    XSLTProcessor::transformToDoc(DOMNode$doc): DOMDocument

    Transforms the source node to a DOMDocument applying the stylesheet given by the XSLTProcessor::importStylesheet() method.

    参数

    $doc

    The node to be transformed.

    返回值

    The resulting DOMDocument or FALSE on error.

    范例

    Example #1 Transforming to a DOMDocument

    <?php
    // Load the XML source
    $xml = new DOMDocument;
    $xml->load('collection.xml');
    $xsl = new DOMDocument;
    $xsl->load('collection.xsl');
    // Configure the transformer
    $proc = new XSLTProcessor;
    $proc->importStyleSheet($xsl); // attach the xsl rules
    echo trim($proc->transformToDoc($xml)->firstChild->wholeText);
    ?>
    

    以上例程会输出:

    Hey! Welcome to Nicolas Eliaszewicz's sweet CD collection!
    

    参见

    • XSLTProcessor::transformToUri() Transform to URI
    • XSLTProcessor::transformToXml() Transform to XML
    In most cases if you expect XML (or XHTML) as output you better use transformToXML() directly. You gain better control over xsl:output attributes, notably omit-xml-declaration.
    Instead of :
    $proc = new XSLTProcessor();
    $proc->importStylesheet($xsl);
    $dom = $proc->transformToDoc($xml);
    echo $dom->saveXML();
    do use : 
    $proc = new XSLTProcessor();
    $proc->importStylesheet($xsl);
    $newXml = $proc->transformToXML($xml);
    echo $newXml;
    In the first case, <?xml version="1.0" encoding="utf-8"?> is added whatever you set the omit-xml-declaration while transformToXML() take the attribute into account.