`
huibin
  • 浏览: 756956 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

使用JavaScript解析xml文件或xml格式字符串

    博客分类:
  • 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文件,...

    js的XML解析器 可以解析XMl文件和XML字符串

    JavaScript中的XML解析器是用于处理XML数据的关键工具,它允许开发者在浏览器环境中解析XML文档或者XML字符串,从而在Web应用中有效地使用这些数据。XML(eXtensible Markup Language)是一种结构化数据语言,常用于...

    javascript加载xml文件和xml字符串的类

    在JavaScript中,处理XML数据是常见的任务,无论是从本地或远程服务器加载XML文件,或是解析XML字符串。XML(可扩展标记语言)作为一种结构化数据格式,广泛用于存储和传输数据。本篇文章将深入探讨如何使用...

    javascript读写XML文件

    虽然在客户端使用JavaScript直接保存XML文件存在限制(通常需要在服务器端处理),但在某些情况下,可以使用`save`方法(仅限于IE)或通过`toString`方法获取XML文档的字符串表示,然后通过AJAX请求或其他方式将其...

    将string类型xml字符串转为json字符串

    总结来说,将string类型的XML字符串转换为JSON字符串是通过解析XML字符串并构建相应的JSON对象来完成的。这个过程通常需要借助特定的库,如Java中的`org.json`。理解XML和JSON的结构差异,以及如何利用这些库进行...

    js解析xml文件的完整代码

    在JavaScript中解析XML文件是一项常见的任务,特别是在处理服务器返回的数据或者构建富客户端应用时。XML(eXtensible Markup Language)是一种结构化数据格式,它允许我们存储和传输信息,而JavaScript作为浏览器中...

    JS解析xml文件为字符串

    总结来说,JavaScript通过`XMLHttpRequest`或`fetch`获取XML文件,使用`DOMParser`解析为DOM,然后通过DOM API进行操作,最后可能需要使用`XMLSerializer`序列化回XML字符串。在处理过程中,注意错误处理和选择适合...

    javascript解析xml字符串的函数

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

    JavaScript获取XML文件的数据

    如上面的fetch示例所示,我们使用`parseFromString`方法解析XML字符串。 ```javascript var parser = new DOMParser(); var xmlDoc = parser.parseFromString(xmlData, 'text/xml'); ``` 3. **遍历XML节点** -...

    将xml文件转换成csv格式

    2. **解析XML文件**:使用XML解析器,如Python的`ElementTree`库,Java的`JDOM`或`DOM4J`,或者JavaScript的`DOMParser`,来读取和解析XML文件。解析器能够将XML文档转化为可操作的对象结构。 3. **构建CSV数据模型...

    js-xml.rar_javascript_javascript xml_js xml_js解析xml_xml js

    下面将详细探讨JavaScript解析XML的相关知识点。 1. DOM解析XML: 在JavaScript中,XML文档可以通过DOM(Document Object Model)接口来解析。DOM是一种标准,允许程序和脚本动态更新、添加和删除HTML或XML文档的...

    JavaScript解析XML文档成树菜单

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

    读写XML文件实例 Javascript

    XML(Extensible Markup Language)是一种用于标记数据的语言,它被广泛应用于...通过理解这一实例,你可以更好地掌握在Node.js环境中使用JavaScript处理XML的技巧,这对于需要与XML格式数据交互的应用场景非常有用。

    xml数据前后台解析:jdom与dom4j源码,程序可以跑

    同时,我们还会讨论如何使用jQuery在前端解析XML并展示数据。 首先,让我们了解XML的基本结构。XML文档由元素(Element)、属性(Attribute)、文本内容(Text Content)等组成。元素是XML的核心,它们通过层级关系...

    解析xml和本地解析xml

    - 解析XML:使用适当的XML解析器将XML字符串转换为可操作的结构,如DOM树或事件流。 - 数据提取:遍历解析后的XML结构,提取需要的字段值。 - 数据映射:将提取的字段值与数据库表的结构对应起来。 - 插入数据库...

    javascript 对xml文件的增删改

    在JavaScript中,我们可以使用`ActiveXObject`(在IE浏览器中)或`DOMParser`(在现代浏览器中)来创建和解析XML文档。例如: ```javascript // IE浏览器 var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");...

    JavaScript操作XML

    JavaScript,作为浏览器端的主要脚本语言,提供了处理XML的能力,使得动态地操作和解析XML数据成为可能。 在JavaScript中操作XML,通常涉及以下几个关键知识点: 1. **创建XML文档**:可以使用`document....

    java解析xml生成json对象

    执行测试,你应该能在控制台看到生成的JSON字符串,或者如果工具类提供了进一步的处理,比如写入文件或通过网络发送,你可以观察相应的结果。 5. **理解实现**:深入理解工具类的代码,查看它是如何解析XML的,以及...

    javascript解析xml

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

Global site tag (gtag.js) - Google Analytics