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

如何在XSL中获取HTTP GET参数?示例场景及问题求助

问题解决:通过XSLT获取URL参数并输出指定内容

原XSLT代码存在以下问题:

  • 仅声明了id参数但未赋值,浏览器不会自动将URL查询参数绑定到XSLT参数
  • <xsl:if test="$id=(value)">语法错误,且缺少闭合标签</xsl:if>
  • 未实现用<strong>标签包裹id值的需求

以下是修正后的report.xsl代码,通过JavaScript函数获取URL中的id参数,实现预期输出:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" 
                xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                xmlns:user="http://tempuri.org/user">

  <!-- 定义JavaScript函数获取URL查询参数 -->
  <xsl:script language="javascript" implements-prefix="user">
    function getQueryParam(paramName) {
      const urlParams = new URLSearchParams(window.location.search);
      return urlParams.get(paramName) || '';
    }
  </xsl:script>

  <xsl:template match="/">
    <html>
      <body>
        <p>My id is: <strong><xsl:value-of select="user:getQueryParam('id')"/></strong></p>
      </body>
    </html>
  </xsl:template>
</xsl:stylesheet>

兼容旧版浏览器的函数版本

如果需要支持不兼容URLSearchParams的旧浏览器,可替换上述函数为:

function getQueryParam(paramName) {
  const queryString = window.location.search.substring(1);
  const params = queryString.split('&');
  for (let i = 0; i < params.length; i++) {
    const pair = params[i].split('=');
    if (pair[0] === paramName) {
      return pair[1] || '';
    }
  }
  return '';
}

原data.xml文件无需修改,保持现有内容即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 17:42:35