2010-12-02 126 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); 
?>