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

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

    博客分类:
  • Ajax
阅读更多

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

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

 

 

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);
        }
    }

// 我们假定不知道客户端使用的浏览器,所以对于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;
    }
分享到:
评论

相关推荐

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

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

    javascript解析xml字符串的函数

    在使用操作XML文件时,我们可以使用Load方法直接加载xml文件即可,在ie和ff下通用。

    Javascript格式化并高亮xml字符串的方法及注意事项

    1.使用DOMParser解析xml 2.递归遍历xml树,按格式输出每一个节点 关于使用DOMParser 此方法目前在IE9以上和其它浏览器里都是支持的,所以这里不在写关于IE9以下不支持的情况, 具体的使用请跳转 ...

    javascript解析ajax返回的xml和json格式数据实例详解

    本文实例讲述了javascript解析ajax返回的xml和json格式数据。分享给大家供大家参考,具体如下: 写个例子,以备后用 一、JavaScript 解析返回的xml格式的数据: 1、javascript版本的ajax发送请求 (1)、创建...

    DWR.xml配置文件说明书(含源码)

    客户端的javascript将返回给reply对象(此时reply是java.util.date的字符串形式) 3.5 The 'scripted' Creator DWR 已经默认配置了scripted creator配置, 这种类型的creator采用BSF执行脚本语言并返回bean.例如 ......

    xml浅学笔记

    5、在php中返回xml格式的字符串 1、必须增加响应消息头 header("Content-Tupe:application/xml"); 2、按照xml的语法结构,拼xml字符串,再响应给客户端 $xml="&lt;?xml version='1.0' encoding='utf-8'?&gt;"; ...

    XML轻松学习手册--XML肯定是未来的发展趋势,不论是网页设计师还是网络程序员,都应该及时学习和了解

    DTD是一种保证XML文档格式正确的有效方法,可以比较XML文档和DTD文件来看文档是否符合规范,元素和标签使用是否正确。一个DTD文档包含:元素的定义规则,元素间关系的定义规则,元素可使用的属性,可使用的实体或...

    javascript解析json格式的数据方法详解

    JSON (JavaScript Object Notation)是一种简单的数据格式,比xml更轻巧。 它是 JavaScript 原生格式,这意味着在 JavaScript 中处理 JSON 数据不需要任何特殊的 API 或工具包。那么如何用JavaScript来解析json呢?...

    JavaScript王者归来part.1 总数2

     9.2.4 字符串的模式匹配--一个字符串格式校验的例子   9.2.5 其他方法   9.3 字符串与字符数组   9.4 字符串与文本处理--JavaScript棋谱阅读器(一)   9.4.1 需求分析--什么是棋谱和棋谱阅读器   9.4.2...

    ng-bpmn:能够检查和管理 XML bpmn 定义文件的 BPMN 语义和图表的 Angular 服务

    readBPMNDefinitions 服务允许根据 BPMN XSD 解析和检查 XML 字符串,并生成语义和图表的简单 JavaScript 对象表示,以及图表和语义之间的链接。 readBPMNDefinitions 服务由代码生成器生成。 ...

    PHP论文格式化系统-前台的设计与实现(源代码+论文)

    在接收到送服务器端发送来的xml之后,系统用javascript脚本解析xml然后填写到表单中去。他们可以按时的发表自己的论文。系统也提供学生和导师的论文交互平台,论文交互平台采用了php脚本编写了数据库操作类和常用...

    PHP论文格式化系统-前台的设计与实现(源代码+论文).zip

    在接收到送服务器端发送来的xml之后,系统用javascript脚本解析xml然后填写到表单中去。他们可以按时的发表自己的论文。系统也提供学生和导师的论文交互平台,论文交互平台采用了php脚本编写了数据库操作类和常用...

    阿里 json 和jackson 完整Jar包

    字符串(在双引号中) 逻辑值(true 或 false) 数组(在方括号中) 对象(在花括号中) null 更多关于JSON的数据格式的说明可以参考JSON官方网站:http://www.json.org/json-zh.html。下面是一个JSON文件的例子: {...

    JS中Eval解析JSON字符串的一个小问题

    我们都知道,高级浏览器可以用 JSON.parse() API 将一个 JSON 字符串解析成 JSON 数据,稍微欠妥点的做法,我们可以用eval&#40;&#41; 函数。 JSON (JavaScript Object Notation)一种简单的数据格式,比xml更轻巧。...

    ActionScript开发人员指南中文版

    对字符串使用正则表达式的方法 正则表达式示例:Wiki解析程序 第章:使用XML XML基础知识 用于处理XML的EX方法 XML对象 XMLList对象 初始化XML变量 组合和变换XML对象 遍历XML结构 使用XML命名空间 XML类型转换 读取...

    PHP论文格式化系统——前台的设计与实现毕业设计毕业论文

    在接收到送服务器端发送来的xml之后,系统用javascript脚本解析xml然后填写到表单中去。他们可以按时的发表自己的论文。系统也提供学生和导师的论文交互平台,论文交互平台采用了php脚本编写了数据库操作类和常用...

    论文格式化系统-前台的设计与实现

    在接收到送服务器端发送来的xml之后,系统用javascript脚本解析xml然后填写到表单中去。他们可以按时的发表自己的论文。系统也提供学生和导师的论文交互平台,论文交互平台采用了php脚本编写了数据库操作类和常用...

    PHP论文格式化系统-前台的设计与实现(源代码+毕设文档).zip

    在接收到送服务器端发送来的xml之后,系统用javascript脚本解析xml然后填写到表单中去。他们可以按时的发表自己的论文。系统也提供学生和导师的论文交互平台,论文交互平台采用了php脚本编写了数据库操作类和常用...

Global site tag (gtag.js) - Google Analytics