【问题标题】:XML and XSL cannot displayXML 和 XSL 无法显示
【发布时间】:2011-09-09 02:00:45
【问题描述】:

我是 XML 和 XSL 的新手。我使用 IE9,这两个文件都在该位置。当我尝试将 .xml 拖到浏览器时,它没有显示任何内容

这是我的 XML:

<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="catalog.xsl"?>
<CATALOG>
<CD>
    <TITLE>Empire Burlesque</TITLE>
    <ARTIST>Bob Dylan</ARTIST>
    <COUNTRY>USA</COUNTRY>
    <COMPANY>Columbia</COMPANY>
    <PRICE>10.90</PRICE>
    <YEAR>1985</YEAR>
</CD>
</CATALOG>

和 XSL:

<xsl:stylesheet version="1.0">
  <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>

【问题讨论】:

  • 抱歉,我的代理服务器阻止我访问 XSL 文件
  • 我已经编辑了您的问题以合并您的 XSL,而不是链接以便 @Houtman 和其他人可以看到它。

标签: xml xslt


【解决方案1】:

Xpath 表达式区分大小写;尝试更换您的:

<xsl:for-each select="catalog/cd">

与:

<xsl:for-each select="CATALOG/CD">

【讨论】:

  • 哇!谢谢,这是一个很大的解脱。我已经研究了将近 2 个小时。
  • 另外,您的样式表上缺少命名空间声明;第一行应该是&lt;xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"&gt;。需要考虑的一件事是,使用有问题的 XSL 时会提供更多有用的错误消息的浏览器——根据我的经验,Firefox 和 Opera 都比 IE 好,通常会直接带您找到问题的根源。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-30
  • 2011-02-14
相关资源
最近更新 更多