2010-12-02 118 views
1

我想將xml數據轉換爲html。下面是示例XML數據,我想要以html格式獲取/轉換它。將xml轉換爲html使用php

<content type="html"> 
 <paragraph id="1291266887"> 
     <div class="red"> 
       <span id="main_post_id"> 
         <p>ten post przedstawia jak wys&#x142;a&#x107; znacznik&#xF3;w w ust <strong>Ling</strong> - xyz</p> 
         <p>tags znane jako <span class="translation_section section_2">bezpieczne</span>, b&#x119;d&#x105; traktowane jako sekcje pkt</p> 
         <p>innych materia&#x142;&#xF3;w dziel&#x105; si&#x119; na <em>literach</em></p> 
       </span> 
     </div> 
    </paragraph> 
</content> 

即我想獲得所有的代碼之間包含<paragraph id="..."></paragraph>。我想用php做。當我使用php將其轉換爲數組時,它將以div,p,span的數組形式提供所有數據。但是我希望<paragraph>..</paragraph>標籤中包含的整個html包含在一個數組中。

請幫助需要在這裏。讓我知道最好的方法。

謝謝。

回答

2

編寫一個XSLT樣式表將其轉換,並使用擴展名將其應用於XML。

+0

創建 文件我想用php做。當我使用php將其轉換爲數組時,它將以div,p,span的數組形式提供所有數據。但我希望整個HTML中包含 ..標籤在一個單一的數組。 – gautamlakum 2010-12-02 06:52:39

1

在PHP中使用xslt很容易。如果你有文件「data.xml中的」 XML和「script.xsl」的XSLT腳本,這是所有做的事情:

<?php 
$proc=new XsltProcessor; 
$proc->importStylesheet(DOMDocument::load("data.xsl")); 
echo $proc->transformToXML(DOMDocument::load("script.xml")); 
?> 

一個簡單的XSLT腳本可能看起來像這樣:

<?xml version="1.0" encoding="utf-8"?> 
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
<xsl:output method="html" encoding="UTF-8" indent="yes"/> 
    <xsl:template match="/"> 
    <html> 
    <head> 
    </head> 
    <body> 
    <xsl:copy-of select="//paragraph"/> 
    </body> 
    </html> 
    </xsl:template> 
</xsl:stylesheet> 
0

後運行在瀏覽器中保存頁面下面的代碼,所以在兩個階段

<?php 
$xml=simplexml_load_file("My_Xml.xml"); 
print_r($xml); 
?>