2010-12-02 12 views
1

xmlデータをhtmlに変換したい。以下はサンプルのxmlデータです。これをHTML形式で取得/変換したいと考えています。PHPを使ってxmlをhtmlに変換する

<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>に含まれるすべてのHTMLコードを取得したいと考えています。私はそれをPHPを使ってやりたい私はPHPで配列を変換すると、div、p、spanの配列にすべてのデータを与えます。しかし、私は<paragraph>..</paragraph>タグに含まれているHTML全体を1つの配列に入れたいと思います。

こちらのお手伝いをしてください。このための最善の方法を教えてください。

ありがとうございました。

答えて

2

XSLTスタイルシートを記述して変換し、xslt拡張子をXMLに適用します。

+0

に作成されるように、ページを保存私はそれをPHPを使ってやりたい私はPHPで配列を変換すると、div、p、spanの配列にすべてのデータを与えます。しかし、私は ..タグに含まれているHTML全体を1つの配列に入れたいと思います。 – gautamlakum

+0

その後、XMLとして処理することはできません。 –

+0

私はxmlデータのいくつかの部分を投稿しましたが、xml全体ではありません。私はそれを配列に変換しましたが、データはに含まれていません。は、単一の配列または配列キーに含まれています。 – gautamlakum

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

ファイルを2段

<?php 
$xml=simplexml_load_file("My_Xml.xml"); 
print_r($xml); 
?> 
関連する問題