2014-06-19 68 views
1

我在PHP文檔中找到了DOMNode類中定義爲DOMNode :: C14N(http://cl1.php.net/manual/en/domnode.c14n.php)的方法。可悲的是,我很難找到關於它的使用的完整示例,並且我嘗試了一些沒有成功的代碼......可能是由於使用PHP默認類的空實驗。使用PHP類方法的XML代碼標準化(c14n)

<?php 
$Document = '<Document>... (more XML code to canonicalize)</Document>'; 

$xml = new C14N(); 
$xml = $Document->C14N(); 

在執行我得到:

Fatal error: Class 'C14N' not found in C:\wamp\www\... 

我已經研究和類的DOMNode包括在DOM擴展,它是suposed的來到默認安裝並啓用,加上C14N是不是一類,但一個方法。

我有PHP 5.3.13。

在此先感謝。

回答

3

爲了幫助你在這裏閱讀PHP手冊:

DOMNode::C14N 

這意味着該類DOMNode有一個名爲C14N方法。

那麼哪裏可以找到這樣的DOMNode,那麼你可以調用該方法?

好,DOM文檔例如是的DOMNode,請參見以下手冊頁:http://cl1.php.net/manual/en/class.domdocument.php它寫

DOMDocument extends DOMNode { 

的延伸代表是一個,所以DOM文檔DOMNode。向下滾動該網頁上就已經給你如何創建這樣一個對象的一般示例代碼,然後你只需要調用方法:

// "Create" the document. 
$xml = new DOMDocument("1.0", "ISO-8859-15"); 
$xml->loadXML('<Document>... (more XML code to canonicalize)</Document>'); 
echo $xml->C14N(); 

希望這與你的方位有助於你。

Online-demo):

<?php 
// "Create" the document. 
$xml = new DOMDocument("1.0", "ISO-8859-15"); 
$xml->loadXML('<Document b="c"  

f="e" a="j">... 

<!-- stupid whitespace example --> 

    mother told me to  go shopping 

</Document>'); 

echo $xml->C14N(); 

程序輸出

<Document a="j" b="c" f="e">... 



    mother told me to  go shopping 

</Document> 

如本例所示,屬性進行排序和註釋已被刪除。

+0

謝謝!它的工作,並以實用的方式開始瞭解此事非常有用:) – mikl