【发布时间】:2016-06-25 12:35:23
【问题描述】:
我正在尝试使用 xsl 转换从 xml 服务状态更新数据并将数据附加到表中。
如您所见,我使用xsl:value-of 从 xml 文件中提取所需的数据。该数据随时间变化,因此最终会发生变化。
我尝试使用.load() jquery 函数,但它没有产生预期的效果,它使用来自svc:data1 的数据破坏了表结构。
我想要的是在不刷新页面的情况下使用 xsl 转换接收到的数据更新表格的每个单元格。有什么想法吗?
xsl:variable 可以帮助将数据存储在另一个地方吗?
示例代码:
<header>
<script>
function autoRefresh()
{
<!-- do something here -->
$("#tbl").load(window.location.href);
}
setInterval('autoRefresh()', 2000);
</script>
</header>
<body onLoad="autoRefresh()">
<table id="tbl" border="1">
<tr>
<td>
<b>Text1</b>
<p>
<xsl:value-of select="svc:data1"/>
</p>
</td>
<td>
<b>Text2</b>
<p>
<xsl:value-of select="svc:data2"/>
</p>
</td>
<td>
<b>Text3</b>
<p>
<xsl:value-of select="svc:data3"/>
</p>
</td>
</tr>
</table>
</body>
【问题讨论】:
-
在我看来,您需要使用 XHR 技术来更新页面的各个部分。有无数种方法可以做到这一点,我不知道 XSLT 是否适合这项工作。我的第一个猜测是改用 JSON。
-
@Abel XHR 是我认为可以使用的另一个可能选项,也许它会更容易,idk。我需要强制使用 XML-XSLT,所以 JSON 不是解决方案。感谢您的评论。