當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


PHP XSLTProcessor::transformToDoc()用法及代碼示例


定義和用法

XML 是一種 mark-up 語言,用於在網絡上共享數據,XML 用於人類 read-able 和機器 read-able。 XSL 擴展是 XSL 標準的實現,用於使用 libxslt 庫執行 XSTL 轉換。

這個XSLTProcessor::transformToDoc()函數接受 DOMNode 類的對象作為參數,並通過對其應用樣式表將其轉換為 DOMDocument。

用法

XSLTProcessor::transformToDoc($doc);

參數

Sr.No 參數及說明
1

doc(Mandatory)

這是 DOMNode 類的一個對象,表示要轉換的文檔。

返回值

此函數在成功的情況下返回 DOMDocument 類的對象,在失敗的情況下返回 FALSE 的布爾值。

PHP版本

這個函數最初是在 PHP 版本 5 中引入的,並且適用於所有後續版本。

示例

下麵是這個函數的一個例子

sample.xml:

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="example.xsl"?>
<Tutorial>
   <Title>JavaFX</Title>
   <Authors>
      <Author>Krishna</Author>
      <Author>Rajeev</Author>
   </Authors>
   <Body>Sample text</Body>
</Tutorial>

sample.xsl:

<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
   <xsl:output method="text"/>

   <xsl:template match="/">
      Title - <xsl:value-of select="/Tutorial/Title"/>
      Authors:<xsl:apply-templates select="/Tutorial/Authors/Author"/>
   </xsl:template>

   <xsl:template match="Author">
      - <xsl:value-of select="." />
   </xsl:template>
</xsl:stylesheet>

sample.php:

<?php
   //Loading an XSL document
   $xsl = new DOMDocument();
   $xsl->load("sample.xsl");

   //Loading an XML document
   $xml = new DOMDocument();
   $xml->load("sample.xml");

   //Creating an XSLTProcessor
   $proc = new XSLTProcessor();

   //Importing the XSL document
   $proc->importStyleSheet($xsl);

   //Transforming the style to XML
   $res = $proc->transformToDoc($xml);
   print_r($res);
?>

這將產生以下結果 -

DOMDocument Object
(
   [doctype] =>
   [implementation] => (object value omitted)
   [documentElement] =>
   [actualEncoding] =>
   [encoding] =>
   [xmlEncoding] =>
   [standalone] => 1
   [xmlStandalone] => 1
   [version] => 1.0
   [xmlVersion] => 1.0
   [strictErrorChecking] => 1
   [documentURI] =>
   [config] =>
   [formatOutput] =>
   [validateOnParse] =>
   [resolveExternals] =>
   [preserveWhiteSpace] => 1
   [recover] =>
   [substituteEntities] =>
   [nodeName] => #document
   [nodeValue] =>
   [nodeType] => 9
   [parentNode] =>
   [childNodes] => (object value omitted)
   [firstChild] => (object value omitted)
   [lastChild] => (object value omitted)
   [previousSibling] =>
   [nextSibling] =>
   [attributes] =>
   [ownerDocument] =>
   [namespaceURI] =>
   [prefix] =>
   [localName] =>
   [baseURI] =>
   [textContent] =>
   Title - JavaFX
   Authors:
   - Krishna
   - Rajeev
)

相關用法


注:本文由純淨天空篩選整理自 PHP - XSLTProcessor::transformToDoc() Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。