JS解析xml字符串,并把xml展示在HTML页面上

Posted 张亮java

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS解析xml字符串,并把xml展示在HTML页面上相关的知识,希望对你有一定的参考价值。

首先,要写一个方法,把xml字符串转化成dom对象

//将字符串转化成dom对象;string转换为xml  
    function stringToXml(xmlString) {  
        var xmlDoc;  
        if (typeof xmlString == "string") {  
            //FF     
            if (document.implementation.createDocument) {  
                var parser = new DOMParser();  
                xmlDoc = parser.parseFromString(xmlString, "text/xml");  
            } else if (window.ActiveXObject) {  
                xmlDoc = new ActiveXObject("Microsoft.XMLDOM");  
                xmlDoc.async = false;  
                xmlDoc.loadXML(xmlString);  
            }  
        }  
        else {  
            xmlDoc = xmlString;  
        }  
        return xmlDoc;  
    }  

例如:xmlString = "<?xml version="1.0" encoding="UTF-8"?><messages><business><businessdata><result><report><![CDATA[校验报告html,内容保存成html文件后可直接查看]]></report></result></businessdata></business></messages>"

那么如何读取report节点下的值呢? 必须用如下的方法读取,因为含有<![CDATA[ ]]>

var report= stringToXmlxmlString ).getElementsByTagName("report")[0].childNodes[0].nodeValue;

或者 report= stringToXmlxmlString ).getElementsByTagName("report")[0].childNodes[0].data;

如果没有<![CDATA[ ]]>

xmlString = "<?xml version="1.0" encoding="UTF-8"?><messages><result><report>校验报告HTML,内容保存成html文件后可直接查看</report></result></messages>"

var report = $(xmlString).find("report").text();就可以读取值

如果要在HTML页面上显示xml内容,只需要把xml字符串的内容放入到 标签<xmp></xmp>即可

 

以上是关于JS解析xml字符串,并把xml展示在HTML页面上的主要内容,如果未能解决你的问题,请参考以下文章

Android:解析 XML DOM 解析器。将子节点转换为字符串

angularjs中怎样将xml字符串转化为xml文件

xml解析模块

尝试使用 dom 解析 xml 页面时出现空指针异常

IOS中的XML解析之DOM和SAX

使用 XML 库解析未转义的 HTML 并检索标记值