如何将xml数据解析为html?

时间:2012-04-10 12:17:01

标签: html xml xml-parsing html-parsing

这是我的xml:

<Catalog>
    <catalogDetail catalogId="DemoCatalog">
        <catalogName>Demo Catalog</catalogName>
    </catalogDetail>
    <catalogDetail catalogId="GoogleCatalog">
        <catalogName>Google Catalog</catalogName>
    </catalogDetail>
</Catalog>

我希望它能在HTML文件中读取,我该怎么做?

3 个答案:

答案 0 :(得分:3)

为此,您的HTML文件应包含一些JavaScript代码,因此您需要了解如何在Javascript中解析XML。

以下是关于此主题的一个很好的StackOverflow问题:XML parsing in JavaScript

答案 1 :(得分:1)

您可以使用名为simplexml的PHP XML库来获取更多信息,请查看此链接 http://www.w3schools.com/php/php_xml_simplexml.asp

答案 2 :(得分:1)

  

注意:如果您可以详细说明您正在使用的技术,我将尝试提供更完整的示例。

我建议使用XSLT。使用XSLT,您可以传入XML片段,解析它并返回格式化的HTML。

以下是将XML转换为HTML的示例XSLT文档:

<?xml version="1.0" encoding="utf-8"?>  
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl">  
    <xsl:output method="html" indent="yes"/>       
    <xsl:template match="/">  
      <html>  
        <body>  
          <h2>My CD Collection</h2>  
          <table border="1">  
            <tr bgcolor="#9acd32">  
              <th>Title</th>  
              <th>Artist</th>  
            </tr>  
            <xsl:for-each select="catalog/cd">  
              <tr>  
                <td>  
                  <xsl:value-of select="title"/>  
                </td>  
                <td>  
                  <xsl:value-of select="artist"/>  
                </td>  
              </tr>  
            </xsl:for-each>  
          </table>  
        </body>  
      </html> 
    </xsl:template>   
</xsl:stylesheet>