« 水云涧的MOblog | Blog首页 | 我喜欢2008奥运会的5个福娃 »
2005/11/11
JS中处理将String转为XMLDocument的问题
昨天折腾了老半天,连晚饭也没有顾的上吃,总算是搞定了这个问题!
因为用的是Ajax技术,且回送的XMLDoc对象中的子节点中的内容才是真正需要的内容!所以取出来后就是字符串了,但是格式是XML格式存储的数据结构,需要用XML+XSL解析为HTML,特别是在JS中真的是够费劲的![]()
同时还得兼容IE和Mozilla浏览器![]()
JS代码如下:
var info=getTagValue(doc,'value');
info = decodeURIComponent(info);
// 创建 XML 文档对象
var xmlDoc;
var moz = (typeof document.implementation != 'undefined') && (typeof document.implementation.createDocument != 'undefined');
var ie = (typeof window.ActiveXObject != 'undefined');
if (moz) {
xmlDoc = document.implementation.createDocument("","",null);} else if (ie) {
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async = false;
while(xmlDoc.readyState != 4) {};
}
var parser = new DOMParser();
xmlDoc = parser.parseFromString(info, "text/xml");
var newDocument = xsl.transformToDocument(xmlDoc);
var bandinfoContent = Sarissa.serialize(newDocument);
var oEle = document.getElementById("bandinfo");
if(oEle){
if (bandinfoContent != ""){
oEle.innerHTML = unescape(bandinfoContent);
}
}
另外,在IE中还可以使用xmlDoc.loadXML(info)将String转为xmlDocument,可惜这个方法在Mozilla下不支持!
如果是现成的XML文件就容易的多了,直接用xmlDoc.load(URL)就搞定了,所以这么多技术要很好的用起来,就是麻烦呀!
水云涧
发表于
2005-11-11 09:26
阅读(1842)
评论(
2)
引用(
0)
我爱IT
所有人可见
相关内容
回复列表每两分钟自动刷新一次,想立即刷新吗?点击这里







