javascript如何读取xml?

更新日期: 2019-11-26阅读: 1.8k标签: xml

javascript读取xml的方法:使用domParser对象解析XML文本并返回一个XML Document对象。然后调用parseFromString()方法读取。


JavaScript读取xml文件:

function loadXML(xmlFile){
        var xmlDoc=null;
        //判断浏览器的类型
        //支持IE浏览器
        if(!window.DOMParser && window.ActiveXObject){
         var xmlDomVersions = ['MSXML.2.DOMDocument.6.0','MSXML.2.DOMDocument.3.0','Microsoft.XMLDOM'];
            for(var i=0;i<xmlDomVersions.length;i++){
                try{
                    xmlDoc = new ActiveXObject(xmlDomVersions[i]);
                    break;
                }catch(e){
                }
            }
        }
        //支持Mozilla浏览器
        else if(document.implementation && document.implementation.createDocument){
            try{
                /* document.implementation.createDocument('','',null); 方法的三个参数说明
                 * 第一个参数是包含文档所使用的命名空间URI的字符串; 
                 * 第二个参数是包含文档根元素名称的字符串; 
                 * 第三个参数是要创建的文档类型(也称为doctype)
                 */
                xmlDoc = document.implementation.createDocument('','',null);
            }catch(e){
            }
        }
        else{
            return null;
        }

        if(xmlDoc!=null){
            xmlDoc.async = false;
            xmlDoc.load(xmlFile);
        }
        return xmlDoc;
}


JavaScript读取xml字符串:

function loadXMLStr(xmlString){
        var xmlDoc=null;
        //判断浏览器的类型
        //支持IE浏览器 
        if(!window.DOMParser && window.ActiveXObject){   //window.DOMParser 判断是否是非ie浏览器
         var xmlDomVersions = ['MSXML.2.DOMDocument.6.0','MSXML.2.DOMDocument.3.0','Microsoft.XMLDOM'];
            for(var i=0;i<xmlDomVersions.length;i++){
                try{
                    xmlDoc = new ActiveXObject(xmlDomVersions[i]);
                    xmlDoc.async = false;
                    xmlDoc.loadXML(xmlString); //loadXML方法载入xml字符串
                    break;
                }catch(e){
                }
            }
        }
        //支持Mozilla浏览器
        else if(window.DOMParser && document.implementation && document.implementation.createDocument){
           try{
             /* DOMParser 对象解析 XML 文本并返回一个 XML Document 对象。
             * 要使用 DOMParser,使用不带参数的构造函数来实例化它,然后调用其 parseFromString() 方法
             * parseFromString(text, contentType) 参数text:要解析的 XML 标记 参数contentType文本
             *  的内容类型
             * 可能是 "text/xml" 、"application/xml" 或 "application/xhtml+xml" 中的一个。
             *  注意,不支持 "text/html"。
               */
                domParser = new  DOMParser();
                xmlDoc = domParser.parseFromString(xmlString, 'text/xml');
            }catch(e){
            }
        }
        else{
            return null;
        }

        return xmlDoc;
}


HTML代码测试:

<script type="text/javascript">
window.onload = function(){
		var text = document.getElementById('aaa').value;
		var xmldoc=loadXMLStr(text);
		 var elements = xmldoc.getElementsByTagName("major");
		 for (var i = 0; i < elements.length; i++) {
			var value = elements[i].getElementsByTagName("class")[0].firstChild.nodeValue;
			alert(value);					
		}
	}
</script>
 
<textarea id="aaa">
<IS>
    <year time="2014">
        <major name="Computer Science">
            <class>1401</class>
            <class>1402</class>
            <class>1403</class>
            <class>1404</class>
        </major>
        <major name="Communication Engineering">
            <class>1405</class>
            <class>1406</class>
            <class>1407</class>
            <class>1408</class>
        </major>
    </year>
 
    <year time="2013">
        <major name="Computer Science">
            <class>1301</class>
            <class>1302</class>
            <class>1303</class>
            <class>1304</class>
        </major>
        <major name="Communication Engineering">
            <class>1305</class>
            <class>1306</class>
            <class>1307</class>
            <class>1308</class>
        </major>
    </year>
</IS>
</textarea

链接: https://www.fly63.com/article/detial/7855

JaveScript 中使用 XSLT转换XML文档

我们经常将数据存储在XML 中,在展示的时候需要转换为其它的形式,这里介绍使用XSLT 对XML数据进行转换。要学习XSLT对XML的转换,需要先了解三个文件。

XML入门教程

XML 指可扩展标记语言(EXtensible Markup Language)。XML不会做任何事情,XML被设计用来结构化、存储以及传输信息。我们需要编写软件或者程序,才能传送、接收和显示出这个文档。

PHP中的XML解析的5种方法

不管是桌面软件开发,还是WEB应用,XML无处不在!然而在平时的工作中,仅仅是使用一些已经封装好的类对XML对于处理,包括生成,解析等。假期有空,于是将PHP中的几种XML解析方法总结如下:

XML基础知识总汇

随着json等一些技术的普及,似乎xml的路子越来越窄,虽然xml的一些功能被其他的一些技术代替,但是学习xml还是非常有必要,如果用xml存储一些大量数据,还是有一定优势的,就算你不管这

xml文件中的XPATH、DTD

XPath 是一门在 XML 文档中查找信息的语言,可用来在 XML 文档中对元素和属性进行遍历。XPath 是 W3C XSLT 标准的主要元素,并且 XQuery 和 XPointer 同时被构建于 XPath 表达之上。因此,对 XPath 的理解是很多高级 XML 应用的基础

XML处理指令

处理指令(PIs)允许文档包含用于应用程序的指令。指令并不是文档字符数据的一部分,但是必须通过应用程序传递。 处理指令可以用于将信息传递给应用程序。处理指令可以出现在文档任意位置的标记外部。可以出现在序言中

XML可扩展标记语言

XML:可扩展标记语言,XML的标签是没有被定义过的,需要自行定义,宗旨是做数据传递,而不是做数据展示;1、xml文件最顶端做声明2、所有标记必须成对出现(没有单标记)3、严格区分大小写

JSON和XML之间的区别是什么?

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它完全独立于语言。它基于JavaScript编程语言,易于理解和生成。XML(可扩展标记语言)旨在传输数据,而不是显示数据。这是W3C的推荐。

javascript如何读取xml文件?

JavaScript是一种属于网络的脚本语言,通常通过嵌入在HTML中来实现自身的功能。XML文件格式是纯文本格式,在许多方面类似于HTML,XML由XML元素组成。

浅谈XML和JSON的区别

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。 易于人阅读和编写。同时也易于机器解析和生成。 它基于JavaScript Programming Language

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!