在脱机应用程序中使用Javascript读取Xml?

问题描述:

在我看来,为了让javascript读取xml文档,它必须托管在Web服务器上。它不会阅读XML文件,否则,有没有什么办法,我可以阅读与脱机应用程序的JavaScript的XML文件,如说我的桌面上的HTML页面?任何帮助将是伟大的谢谢你。在脱机应用程序中使用Javascript读取Xml?

回头一段时间,不一定在现代浏览器中工作XML可以加载到HTML文档中的XML数据岛中,并由客户端XMLDOM操作。在您可以预测Microsoft浏览器和平台的环境中,这只是真正可行的。看到这里http://msdn.microsoft.com/en-us/library/windows/desktop/ms766512(v=vs.85).aspxhttp://www.w3schools.com/dom/default.asp

看来,这个技术被更新,但我不能担保它的工作在非MS平台http://msdn.microsoft.com/en-us/library/ms760399.aspx

浏览器通常已经设置,使访问本地文件 - 一些旧的浏览器实际上有默认启用 - 只需浏览特定浏览器的设置即可。

这应该足以供个人使用。

可能的解决方法:

  1. 使用XML字符串,而不是

    var xmlString= 
    ' 
    //some XML content 
    '; 
    

,然后加载loadXMLString()。如果使用XML的动机只是简单地使用XML表示数据,那么在HTML/JavaScript文档中将XML定义为字符串应该不会很成问题。

  1. 如果您确实需要或希望从本地文件获取XML数据而不管浏览器的首选项如何,那么自签名java applet是不错的选择。用户需要允许它们运行,但是随后使用某种Java applet方法,您可以加载XML文件并返回其内容 - Java applet方法可以从Javascript运行。当然用户必须在这种情况下安装Java。

仅用于Microsoft浏览器(可能还有ActiveX支持的其他选项)的另一种选择是具有类似功能的ActiveX对象。