【问题标题】:convert xml to html using php使用php将xml转换为html
【发布时间】:2011-05-18 22:56:33
【问题描述】:

我想将 xml 数据转换为 html。下面是示例 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>

即我想获取&lt;paragraph id="..."&gt;&lt;/paragraph&gt; 之间包含的所有html 代码。我想用php来做。当我使用 php 将其转换为数组时,它会提供 div、p、span 数组中的所有数据。但我希望整个 html 包含在单个数组中的 &lt;paragraph&gt;..&lt;/paragraph&gt; 标记中。

请在这里需要帮助。让我知道最好的方法。

谢谢。

【问题讨论】:

    标签: php html xml xmltextreader xslt


    【解决方案1】:

    在 PHP 中使用 xslt 很容易。如果您在“data.xml”文件中获得了 xml,而在“script.xsl”中获得了 xslt-script,这一切都要做:

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

    【讨论】:

      【解决方案2】:

      编写一个 XSLT 样式表以对其进行转换,并使用 xslt 扩展将其应用于 XML。

      【讨论】:

      • 我想用 php 来做。当我使用 php 将其转换为数组时,它会给出 div、p、span 数组中的所有数据。但我希望整个 html 包含在单个数组中的 .. 标记中。
      • 那你不能把它当作XML处理,因为把它当作XML处理会导致这种情况。
      • 我刚刚发布了部分 xml 数据,而不是整个 xml。我已将其转换为数组,但未在单个数组或数组键中获取 .. 中包含的数据。
      【解决方案3】:

      在浏览器保存页面运行以下代码后, 文件分两个阶段创建

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-06-20
        • 1970-01-01
        • 2022-01-06
        • 1970-01-01
        • 2014-03-08
        • 2012-09-29
        • 2011-06-11
        相关资源
        最近更新 更多