JavaScript如何解析xml数据? 原生JS与jQuery处理xml的两种方式

星降
发布: 2025-11-23 18:40:03
原创
284人浏览过
原生JS通过DOMParser解析XML字符串为DOM对象,结合getElementsByTagName等方法提取数据,适合无库环境;jQuery则利用$.ajax配合dataType: "xml"自动解析,通过find、attr、text等方法简化节点操作,语法更简洁,适用于已有jQuery项目。

javascript如何解析xml数据? 原生js与jquery处理xml的两种方式

JavaScript 解析 XML 数据主要依赖于浏览器提供的 DOMParser 和 XMLHttpRequest 等原生 API,也可以借助 jQuery 简化操作。下面分别介绍原生 JS 和 jQuery 处理 XML 的常用方式。

原生 JavaScript 解析 XML

原生 JS 使用 DOMParser 将字符串形式的 XML 转换为可操作的 DOM 对象,再通过 DOM 方法提取数据。

常见步骤如下:

  • 获取 XML 字符串(通常来自服务器响应)
  • 使用 DOMParser().parseFromString() 解析成 XML DOM
  • 使用 getElementsByTagNamegetAttribute 等方法读取节点内容

示例代码:

立即学习Java免费学习笔记(深入)”;

const xmlStr = `
<books>
  <book id="1">
    <title>JavaScript 高级程序设计</title>
    <author>Nicholas Zakas</author>
  </book>
  <book id="2">
    <title>你不知道的 JavaScript</title>
    <author>Kyle Simpson</author>
  </book>
</books>`;

const parser = new DOMParser();
const xmlDoc = parser.parseFromString(xmlStr, "text/xml");

const books = xmlDoc.getElementsByTagName("book");
for (let i = 0; i < books.length; i++) {
  const title = books[i].getElementsByTagName("title")[0].textContent;
  const author = books[i].getElementsByTagName("author")[0].textContent;
  const id = books[i].getAttribute("id");
  console.log(`ID: ${id}, 书名: ${title}, 作者: ${author}`);
}
登录后复制

如果从服务器加载 XML 文件,可以结合 fetch 使用:

fetch('data.xml')
  .then(response => response.text())
  .then(str => {
    const parser = new DOMParser();
    const xmlDoc = parser.parseFromString(str, "text/xml");
    // 解析并处理 xmlDoc
  });
登录后复制

jQuery 处理 XML 数据

jQuery 提供了更简洁的语法来解析和遍历 XML,底层仍使用原生解析器,但封装了选择器和遍历方法。

ChatsNow
ChatsNow

ChatsNow是一款免费的AI写作类浏览器插件,提供智能聊天机器人、智能翻译、智能搜索等工具

ChatsNow 253
查看详情 ChatsNow

使用 $.ajax 请求 XML 并自动解析,设置 dataType: "xml" 即可。

示例代码:

立即学习Java免费学习笔记(深入)”;

$.ajax({
  url: 'data.xml',
  dataType: 'xml',
  success: function(xmlDoc) {
    $(xmlDoc).find('book').each(function() {
      const id = $(this).attr('id');
      const title = $(this).find('title').text();
      const author = $(this).find('author').text();
      console.log(`ID: ${id}, 书名: ${title}, 作者: ${author}`);
    });
  },
  error: function() {
    console.error('XML 加载失败');
  }
});
登录后复制

也可以手动解析字符串:

const $xml = $($.parseXML(xmlStr));
$xml.find('book').each(function() {
  // 处理每个 book 节点
});
登录后复制

jQuery 的优势在于语法简洁,支持链式调用和熟悉的 CSS 选择器,适合快速开发。

基本上就这些。原生 JS 更通用、不依赖库;jQuery 写法更简洁,适合已有 jQuery 项目的场景。根据实际需求选择即可。

以上就是JavaScript如何解析xml数据? 原生JS与jQuery处理xml的两种方式的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号