js读取xml的存放内容

https://blog.csdn.net/tracy_frog/article/details/77096282

做音乐播放器的时候遇到一个问题,用ajax获取的xml格式的歌词被放在<![CDATA[]]>里面

看成字符串来处理太麻烦了

上网找了一下,说是可以用nodevalue获取

getElementsByTagName("film_name")[0].childNodes[0].nodeValue

报错:main.js:170 Uncaught TypeError: data.getElementsByTagName is not a function
原因:data现在不是一个document,需要存入一个xmlDoc才能调用上面的函数

解决:

                
                var xmlDoc = null;
                    try //Internet Explorer
                    {
                        xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
                        xmlDoc.async="false";
                        xmlDoc.loadXML(data);
                    }
                    catch(e)
                    {
                        try //Firefox, Mozilla, Opera, etc.
                        {
                            parser=new DOMParser();
                            xmlDoc=parser.parseFromString(data,"text/xml");
                        }
                        catch(e) {alert("不支持穿件xmlDoc");}
                    }
现在就可以对xmlDoc运行getElementsByTagName了~轻松获取<![CDATA[]]>里面的内容
--------------------- 
作者:Astar_小白的成长之路 
来源:CSDN 
原文:https://blog.csdn.net/tracy_frog/article/details/77096282 
版权声明:本文为博主原创文章,转载请附上博文链接!

猜你喜欢

转载自blog.csdn.net/MyNameIsXiaoLai/article/details/86538641