2010-12-02 6 views
1

Ich möchte XML-Daten in HTML konvertieren. Unten sind Beispiel XML-Daten und ich möchte es im HTML-Format erhalten/konvertieren.konvertieren Xml nach HTML mit 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> 

das heißt ich will zwischen <paragraph id="..."></paragraph> enthalten alle den HTML-Code erhalten. Ich möchte es mit PHP machen. Wenn ich es in Array mit PHP umwandle, gibt es alle Daten im Array von div, p, span. Aber ich möchte ganze HTML in <paragraph>..</paragraph> Tag in einem einzigen Array enthalten.

Bitte helfen Sie hier. Lassen Sie mich die besten Wege dafür wissen.

Danke.

Antwort

2

Schreiben Sie ein XSLT Stylesheet, um es zu konvertieren, und die xslt Erweiterung, um es auf das XML anzuwenden.

+0

Ich möchte es mit PHP machen. Wenn ich es in Array mit PHP umwandle, gibt es alle Daten im Array von div, p, span. Aber ich möchte ganze HTML enthalten in .. Tag in einem einzigen Array. – gautamlakum

+0

Dann können Sie es nicht als XML verarbeiten, da die Verarbeitung als XML das verursacht. –

+0

Ich habe gerade einen Teil von XML-Daten gepostet, nicht ganz xml hier. Ich habe es in Array konvertiert, aber nicht erhalten Daten in .. in einem einzigen Array oder Array-Schlüssel. – gautamlakum

1

Es ist einfach, xslt in PHP zu verwenden. Wenn Sie die XML-Datei in "data.xml" und das xslt-Skript in "script.xsl" bekam das ist alles zu tun:

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

Ein einfaches xslt-Skript könnte wie folgt aussehen:

<?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

Nach dem Ausführen des folgenden Code im Browser speichert Seite, so dass die Datei in zwei Stufen erstellt

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