【发布时间】:2024-04-29 09:50:02
【问题描述】:
我需要在客户端用 xslt 1.0 分割一个逗号分隔的字符串....这样的事情可能吗??
我尝试了类似的方法
我在 firefox 上收到一个错误,说它检测到递归并停在那里。我的问题是我从我的 SQL 服务器以 XML 形式返回数据,并且存在一对多的关系,1 条带有多个“标签”的博文记录 [即 #cars]。所以我将“标签”添加为 xml 标签内的逗号分隔字段,我想在客户端再次拆分它。或者,如果有某种方法可以简单地从 SQL Server XML 创建一个嵌套字段列表也可以使用
我可以返回而不是“汽车,红色,2010”
<tags>
<tag>cars</tag>
<tag>red</tag>
<tag>2010</tag>
</tags>
我在浏览器上使用 MS SQL Server 2008、ASP.NET 4.0 和 XSLT 1.0,所以这些都是我可用的工具。提前致谢!
【问题讨论】:
-
使用 XSLT 1.0 解析字符串,然后将结果作为节点操作需要 EXSLT。 避免超出客户端 XSLT 的限制。相反,使用 MSSQL 的强大功能来制作 XML,使客户端能够轻松处理它。这当然是可能的,但是您并没有给出任何关于您的表和数据是什么样子的指示,所以这里没有任何建议,只是暗示这是要走的路。
-
如果您决定在客户端拆分分隔字符串,您可以尝试使用 javascript 而不是 XSLT:exslt.org/str/functions/tokenize/str.tokenize.js
-
不要使用浏览器内置处理器执行转换。
-
好问题,+1。有关完整且通用的 XSLT 1.0 解决方案,请参阅我的答案。