1

我正在为移动设备开发一个应用程序。我正在使用 jquery mobile 和 phonegap(访问设备的内部功能)。我有一个包含 10 到 1000 多个节点的大 xml 文件。基本上我需要在自己的页面上显示每个节点。在 jquery mobile 中,通常的做法是构建一个包含所有页面的 html 文件。

我正在考虑构建这样的东西:

<div data-role="page" id="1">JS template filled with content of node1 from xml and linking to page 2.</div>
<div data-role="page" id="2">JS template filled with content of node2 from xml and linking to page 3.</div>

如果我通过使用 javascript 解析 XML 文件来创建如此大的页面,我担心应用程序会非常慢。以我的经验,浏览器不能很好地处理页面,如果它们很长的话。xml 文件可以包含文本以及指向图像、视频和音频文件的链接。我尝试在客户端通过 xslt 呈现 xml 文件,但遇到了问题,大多数 android 浏览器不支持 xsl(至少我的不支持)。我需要在客户端找到一个解决方案,因为该应用程序也应该在没有互联网连接的情况下工作。

你能指出我正确的方向吗?也许我错了,如果主 html 文件包含几百页,这没什么大不了的?我也有想法从 xml 中一一获取页面,因为我一次不会显示超过一页。但我不确定如何跟踪我已经向用户显示的节点。xml 文件不包含自动递增标识符。所以很难通过 xpath 按顺序访问特定节点,还是我错过了什么?

谢谢!

4

1 回答 1

1

以大多数人的标准来看,具有 1000 个节点的 XML 文件非常小(而具有 10 个节点的 XML 文件是微不足道的),因此很难看出您的真正问题是什么。

尽管某些移动浏览器没有原生 XSLT 支持,但您可以尝试 Saxon-CE,它提供了可在任何支持 Javascript 的浏览器上运行的 XSLT 2.0 实现。

于 2012-11-04T09:31:18.053 回答