You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

XML新手求助:XSL无法关联XML,数据无法按表格展示

XML与XSL关联问题排查及修正

问题描述

我是XML新手,想把客户端数据以表格形式展示。XML经验证无错误,但无法关联XSL文档,验证XSL时持续提示XML未连接。

核心问题及修正方案

1. 文件路径与命名

确保XML文件和hw3.xsl文件放在同一目录,且XSL文件名完全匹配XML中<?xml-stylesheet>指令里的href值。

2. XSL节点选择错误(关键问题)

你的XSL里存在多处节点名称不匹配XML结构的问题:

  • XML中邮箱节点是<E-mail>,XSL里误写为Email
  • XML中账户总额节点是<Account_Total>,XSL里误写为Account Total
  • 直接读取<Name>节点会包含换行和空白,需要拼接<First>和<Last>的值
  • 表头背景色的属性值前有多余空格,会导致样式失效

3. 浏览器打开方式限制

部分浏览器(如Chrome)直接打开本地XML文件会因跨域限制无法加载XSL,建议:

  • 使用Firefox浏览器打开
  • 搭建本地HTTP服务器(如用Python的python -m http.server)后访问文件

修正后的代码

XML文件(无需改动,确认路径即可)

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="hw3.xsl"?>
<!-- Simple XML file with no CSS -->

<Accounts>
<Client ID="CS5355">
<Name>
  <First>Grant</First>
  <Last>Wu</Last>
</Name>
<Address>
  <Street>55 Hawking Street</Street>
  <City>Delton</City>
  <State>MN</State>
  <Zip>89011</Zip>
</Address>
<Phone>(532) 555-9939</Phone>
<E-mail>gwu@brockton.com</E-mail>
<Account_Total>60000</Account_Total>
</Client>

<Client ID="CS5108">
<Name>
  <First>Cynthia</First>
  <Last>Browne</Last>
</Name>
<Address>
  <Street>71 Circuit Ct.</Street>
  <City>Wheaton</City>
  <State>MN</State>
  <Zip>89321</Zip>
</Address>
<Phone>(532) 555-3813</Phone>
<E-mail>cynthia@brownes.com</E-mail>
<Account_Total>80000
</Account_Total>
</Client>

<Client ID="CS5331">
<Name>
  <First>Robert</First>
  <Last>Olson</Last>
</Name>
<Address>
  <Street>5133 Oak Street</Street>
  <City>Delton</City>
  <State>MN</State>
  <Zip>89011</Zip>
</Address>
<Phone>(532) 555-8981</Phone>
<E-mail>rolson@delisp.net</E-mail>
<Account_Total>25000</Account_Total>
</Client>

<Client ID="CS5771">
<Name>
  <First>Steve</First>
  <Last>Bones</Last>
</Name>
<Address>
  <Street>900 Lawton Street</Street>
  <City>Wheaton</City>
  <State>MN</State>
  <Zip>89211</Zip>
</Address>
<Phone>(533) 555-5434</Phone>
<E-mail>Sbone@mail.com</E-mail>
<Account_Total>105000</Account_Total>
</Client>

<Client ID="CS5981">
<Name>
  <First>Jim</First>
  <Last>Wheatley</Last>
</Name>
<Address>
  <Street>Hawkes Lane</Street>
  <City>Delton</City>
  <State>MN</State>
  <Zip>89211</Zip>
</Address>
<Phone>(542) 555-8828</Phone>
<E-mail>jim_wheatley@kyu.edu</E-mail>
<Account_Total>83000</Account_Total>
</Client>

<Client ID="CS5308">
<Name>
  <First>Cindy</First>
  <Last>Kaufmann</Last>
</Name>
<Address>
  <Street>31 Alice Avenue</Street>
  <City>Delton</City>
  <State>MN</State>
  <Zip>89011</Zip>
</Address>
<Phone>(532) 555-7212</Phone>
<E-mail>cka@ispnet.net</E-mail>
<Account_Total>125000</Account_Total>
</Client>

<Client ID="CS5250">
<Name>
  <First>Lee</First>
  <Last>Hayes</Last>
</Name>
<Address>
  <Street>451 Unwin Ct.</Street>
  <City>Jasper</City>
  <State>MN</State>
  <Zip>89381</Zip>
</Address>
<Phone>(534) 555-9082</Phone>
<E-mail>leehayes@clarion.net</E-mail>
<Account_Total>118000</Account_Total>
</Client>

<Client ID="CS5981">
<Name>
  <First>Jane</First>
  <Last>Wilson</Last>
</Name>
<Address>
  <Street>87 Hilltop Drive</Street>
  <City>Jasper</City>
  <State>MN</State>
  <Zip>89381</Zip>
</Address>
<Phone>(534) 555-7493</Phone>
<E-mail>jwilson@cls.net</E-mail>
<Account_Total>95000</Account_Total>
</Client>

</Accounts>

修正后的XSL文件(hw3.xsl)

<?xml version="1.0" encoding="UTF-8"?>

<xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

    <xsl:template match="/">
    <html>
        <body>
        <h1>List of Clients</h1>
        <table border="1">
          <tr bgcolor="#0000FF">
            <th>Name</th>
            <th>Phone</th>
            <th>Email</th>
            <th>Account Total</th>
          </tr>
        <xsl:for-each select="Accounts/Client">
          <tr>
            <td><xsl:value-of select="Name/First"/> <xsl:value-of select="Name/Last"/></td>
            <td><xsl:value-of select="Phone"/></td>
            <td><xsl:value-of select="E-mail"/></td>
            <td><xsl:value-of select="Account_Total"/></td>
          </tr>
        </xsl:for-each>
        </table>
        </body>
        </html>
    </xsl:template>
    </xsl:stylesheet>

内容的提问来源于stack exchange,提问作者XyberFox

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 17:25:52