«  水云涧的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
所有人可见

  • 收藏文章:
  • save at del.icio.us
  • save at digg
  • save at my yahoo
  • save at blinklist
  • save at furl
  • save at simpy
  • save at blogmarks
  • submit at reddit
  • save at spurl
  • save at shadows
  • save at rawsugar
  • save at bloglines

引用

http://www2.uuzone.com/app/trackBack.do?type=blog&trackBackID=52775

相关内容
更多..

回复列表每两分钟自动刷新一次,想立即刷新吗?点击这里

您的浏览器可能不支持Frame, 优友地带需要使用Frame才能显示正常页面!