我正在尝试找出如何在JavaScript中处理XML。所以我在谷歌上搜索了一下。问题是,我不知道我看到的教程是否仅适用于IE。
在JavaScript中处理XML数据的“标准”方法是什么?
编辑: 感谢大家的回答。 那么我想问另一个问题。是否有某种第三方库可以让我透明地编写JS代码,而不必担心跨浏览器功能?
我正在尝试找出如何在JavaScript中处理XML。所以我在谷歌上搜索了一下。问题是,我不知道我看到的教程是否仅适用于IE。
在JavaScript中处理XML数据的“标准”方法是什么?
编辑: 感谢大家的回答。 那么我想问另一个问题。是否有某种第三方库可以让我透明地编写JS代码,而不必担心跨浏览器功能?
也许你应该看看 sarissa。它是一个跨浏览器的库,我发现非常有用且易于使用。它允许你:
适用于主流浏览器,并且其许可证为GPL。
请使用w3schools.com上的教程。它们说明了如何在各种浏览器中工作。
例如(代码片段)
try //Internet Explorer
{
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async="false";
xmlDoc.loadXML(txt);
return xmlDoc;
}
catch(e)
{
parser=new DOMParser();
xmlDoc=parser.parseFromString(txt,"text/xml");
return xmlDoc;
}
在 JavaScript 中处理 XML 的“标准”方式是使用一个或多个标准或广泛可用的 API。其中最广泛采用的 API 为:
所有这些对象都可在现代(非 IE)Web 浏览器中使用。由于幸运的机会,自 IE5 或更早以来,IE 也一直拥有这些功能的实现,只是它们具有不同的 API。由于上述对象在 IE 中不可用,因此可能需要对其进行实现,像 Ample SDK 和 Sarissa 这样的项目也实现了类似的功能。
例如,看看启用跨浏览器 DOMParser 的代码可能如何:
if (!window.DOMParser) {
var cDOMParser = function(){};
cDOMParser.prototype.baseURI = null;
cDOMParser.prototype.parseFromString = function(sXml, sMime) {
var oDocument = new ActiveXObject("Microsoft.XMLDOM");
oDocument.async = false;
oDocument.validateOnParse = false;
oDocument.loadXML(sXml);
return oDocument;
};
window.DOMParser = cDOMParser;
};