欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

jQuery加载及解析XML文件的方法实例分析

程序员文章站 2023-11-09 21:48:16
本文实例讲述了jquery加载及解析xml文件的方法。分享给大家供大家参考,具体如下: 1、简述 xml(extensible markup language)即可扩展...

本文实例讲述了jquery加载及解析xml文件的方法。分享给大家供大家参考,具体如下:

1、简述

xml(extensible markup language)即可扩展标记语言,与html一样,都是属于sgml标准通用语言。

2、 content-type

很多情况下xml文件不能正常解析都是由于content-type没有设置好。如果content-type本身就是一个xml文件则不需要设置;如果是由后台程序动态生成的,那么就需要设置content-type为“text/xml”,否则jquery会以默认的“text/html”方式处理,导致解析失败。以下是几种常见语言中设置content-type的方式。

header("content-type:text/xml");     //php
response.contenttype = "text/xml";   //asp
response.setcontenttype("text/xm");  //jsp

3、创建实例xml文档(student.xml)

<?xml version="1.0" encoding="utf-8" ?>
<stulist>
 <student email="peter@163.com">
  <name>peter</name>
  <id>1</id>
 </student>
 <student email="ken@163.com">
  <name>ken</name>
  <id>2</id>
 </student>
</stulist>

4、获取xml

$(document).ready(function() {
  $.ajax({
    url: '/xml/student.xml',
    type: 'get',
    datatype: 'xml',
    timeout: 1000, //设定超时
    cache: false,  //禁用缓存
    error: function(xml) {
      alert("加载xml文档出错!");
    },
    success: getstudentcomplete  //设置成功后回调函数
  });
});

通过jquery的ajax函数进行读取。

5、 解释xml

//获取xml成功后回调函数
function getstudentcomplete(xml) {
  $(xml).find("student").each(function(i) {   //查找所有student节点并遍历
    var id = $(this).children("id");     //获得子节点
    var id_vaule = id.text();         //获取节点文本
    var email_vaule = $(this).attr("email"); //获取节点的属性
    alert(id_vaule);
    alert(email_vaule);
  });
}

解析xml文档与解析dom一样,也可以用find()、children()等函数来解析和用each()方法来进行遍历,另外也可以用text()和attr()方法来获取节点文本和属性。

ps:这里再为大家提供几款关于xml操作相关在线工具供大家参考使用:

在线xml/json互相转换工具:

在线格式化xml/在线压缩xml

xml在线压缩/格式化工具:

xml代码在线格式化美化工具:

更多关于jquery相关内容感兴趣的读者可查看本站专题:《jquery操作xml技巧总结》、《jquery操作json数据技巧汇总》、《jquery扩展技巧总结》、《jquery常用插件及用法总结》、《jquery常见经典特效汇总》及《jquery选择器用法总结

希望本文所述对大家jquery程序设计有所帮助。