`
hn_archer
  • 浏览: 134151 次
  • 性别: Icon_minigender_1
  • 来自: 河南
社区版块
存档分类
最新评论

JavaScript解析XML

 
阅读更多

javascript中,不论是解析xml文件,还是xml格式的字符串,都是通过DOM对象来进行操作的。   

     假定xml格式字符串为xmlStr,首先加载xml

// 我们假定不知道客户端使用的浏览器,所以对于XMLDom的创建,尽量满足多浏览器的环境 

    var xmlDoc; 

    //如果ie 此判断和下面其他浏览器的判断可以忽略,此处只为说明代码

    if (window.ActiveXObject) { 

        // 由于不知道ie的版本,尽量保持程序的兼容性

        var ARR_ACTIVEX = ["MSXML4.DOMDocument","MSXML3.DOMDocument","MSXML2.DOMDocument","MSXML.DOMDocument","Microsoft.XmlDom"];

        // XMLDOM是否创建成功的标志

        var XmlDomflag = false;

        for (var i = 0;i < ARR_ACTIVEX.length && !XmlDomflag ;i++) {

            try {

                // 尝试创建对象,如果不能正常创建,它会抛出一个错误

                var objXML = new ActiveXObject(ARR_ACTIVEX[i]);               

                // 如果程序能运行到这里,则说明XMLDom对象已经成功创建,所以保存

                xmlDoc = objXML;

                XmlDomflag = true;

            } catch (e) {

            }

        }

        if (xmlDoc) {

            xmlDoc.async    = false;

            // 加载xml,如果是xml文件的话则调用load(xmlFile)

            xmlDoc.loadXML(xmlStr);

        } else {

            return;

        }

    } else if (document.implementation && document.implementation.createDocument) { // 判断是不是遵从标准的浏览器

        // 建立DOM对象的标准方法

        xmlDoc = document.implementation.createDocument('', '', null);

        xmlDoc.loadXML(xmlStr);   

    } else {

        // 进这里我也没辙了

        return;

    }

    XMLDOM对象出来了,接下来便是对Dom的操作部分,随便写一个xml字符串简单举个例子:

     var xml;    

    xml = '<?xml version="1.0" encoding="GB2312"?><Output><Field id ="return" text ="111">0</Field><Field id ="errMsg" text ="信息">成功</Field><Field id ="state" text ="状态字">无</Field><DataArea id ="D00E00" text ="参保人员基本信息"><Field id ="EMPNO" text ="编号"></Field><Field id ="ICNO" text ="IC卡号"></Field></DataArea></Output>';    

    经过上面的。。。加载进来后   

    // 加载进来地xml~~

    var temp = xmlDoc.xml;

    // 取得所有Field 元素

    var elementList;

    elementList = xmlDoc.getElementsByTagName('Field');

    // 遍历

    for (var j = 0;j < elementList.length; j++) {

        var value;

        // 取得当前元素属性id的值

        value = elementList[j].getAttribute('id');

        alert(value);

        // 可以设定当前元素属性id的值

        elementList[j].setAttribute('id','ooo'); 

        var childs;

        // 当前元素的子节点

        childs = list[j].childNodes;

        // 如果没有子节点(<tagName>...</tagName>间没有任何值)就不能取子节点,否则会出错。比如id是ICNO的那个元素

        if (childs.length > 0) {

            // childs[0]是第一个当然就代表当前元素的值了,nodeValue可以取得这个节点的值。

            alert(childs[0].nodeValue);

        }     }

分享到:
评论

相关推荐

    使用javascript解析xml文件或xml格式字符串中文WORD版

    资源名称:使用Javascript解析xml文件或xml格式字符串 中文WORD版   内容简介: 本文档主要讲述的是使用Javascript解析xml文件或xml格式字符串;javascript中,不论是解析xml文件,...

    利用javascript解析XML

    利用javascript解析XML,来查询xml数据

    JavaScript解析XML文件,在网页上以目录树的形式显示

    2. **JavaScript解析XML**:JavaScript提供了两种主要的方式来解析XML,即`DOMParser`和`XMLHttpRequest`(也称为Ajax)。`DOMParser`可以将XML字符串转化为DOM对象,方便后续操作;`XMLHttpRequest`则可以异步加载...

    JavaScript解析XML实现多级级联下拉列表

    总结来说,实现JavaScript解析XML以创建多级级联下拉列表涉及的主要知识点包括:JavaScript基础、XML文件结构与解析、DOM操作、事件监听以及动态生成HTML元素。通过这些技术,可以构建出交互性强、用户体验良好的Web...

    JavaScript解析XML文档成树菜单

    总结,JavaScript解析XML文档成树菜单涉及到DOM解析、XMLHttpRequest或fetch请求、DOM遍历、HTML结构生成、事件处理等多个技术点。具体实现可能因XML结构和需求而异,但基本流程是相似的。阅读原博客(288976)可以...

    JAVASCRIPT解析XML的方法总结.pdf

    JAVASCRIPT解析XML的方法总结.pdf

    JavaScript解析XML的方法总结.

    ### JavaScript解析XML的关键方法 在给定的文件中,主要讨论了如何使用JavaScript来解析XML文件,并提供了一个具体的例子。以下是对这些关键方法的详细解释: #### 1. 加载XML文件 JavaScript解析XML的第一步是...

    JavaScript解析xml数据.js

    JavaScript解析xml数据

    javascript解析XML

    总结来说,JavaScript解析XML是Web开发中的重要技能,它允许开发者动态地处理和展示来自服务器的结构化数据,提高用户体验。DOM和SAX是两种主要的解析策略,其中DOM适用于小型XML文档,而SAX更适合处理大型文档。...

    javascript解析xml方法

    javascript解析xml方法,考虑多种浏览器

    JavaScript解析XML实现两级级联下拉列表

    2. **JavaScript解析XML**:在JavaScript中,`XMLHttpRequest`对象可以用来从服务器获取XML文件。一旦文件加载完成,我们可以使用`responseXML`属性来访问XML文档。然后,通过`documentElement`和`...

    Javascript解析xml文件及SSH实现登录构建结构树例子

    JavaScript是Web开发中不可或缺...通过分析和理解这些代码,你可以更好地掌握JavaScript解析XML、SSH登录以及MVC架构的应用。记住,实践是检验理论的最好方式,尝试自己动手实现这些功能,将有助于深化理解和提升技能。

    JavaScript解析XML文档成树菜单.chm

    JavaScript解析XML文档成树菜单.chm

    javascript解析xml文件

    JavaScript提供了DOMParser API和ActiveXObject(仅限于Internet Explorer)来解析XML。以下是对这个主题的详细阐述: 首先,我们需要了解XML(eXtensible Markup Language),它是一种用于存储和传输数据的标记...

    js解析XML文件

    JS 解析 XML 文件 作为一名 IT 行业大师,我将从给定的...使用 JavaScript 解析 XML 文件需要了解 XML 文档的结构和各个节点的类型,选择合适的解析方法,考虑浏览器兼容性问题,并掌握相关的 JavaScript 语法和方法。

    javascript解析xml字符串的函数

    总的来说,JavaScript解析XML字符串的关键在于处理不同浏览器的兼容性问题,使用`try...catch`结合`ActiveXObject`和`DOMParser`可以有效地实现这一目标。同时,理解XML文档的结构和DOM(文档对象模型)的概念对于...

    javascript解析xml

    本篇文章将深入探讨如何使用JavaScript来解析XML文档。 首先,我们需要理解XML的基本结构。XML文档由元素、属性、文本内容等构成,元素以尖括号 `和 `&gt;` 包围,如 `&lt;element&gt;`。元素可以包含其他元素、属性或文本。...

    javascript 对xml文件解析

    ### JavaScript 对 XML 文件解析知识点详解 #### 一、XML 文件解析背景及意义 XML(Extensible Markup Language,可扩展标记语言)是一种用于标记数据的语言,主要用于传输和存储数据。在 Web 开发中,XML 常被...

Global site tag (gtag.js) - Google Analytics