JavaScript怎么获取XML节点的属性值

煙雲
发布: 2025-12-15 11:01:02
原创
153人浏览过
在 JavaScript 中获取 XML 节点属性值需先用 DOMParser 解析 XML 字符串为 Document 对象,再通过 querySelector 等定位目标元素,最后用 getAttribute() 或 attributes 集合读取属性,注意大小写敏感及解析异常处理。

javascript怎么获取xml节点的属性值

在 JavaScript 中获取 XML 节点的属性值,核心是先解析 XML(得到 Document 对象),再定位到目标元素节点,最后用 getAttribute()attributes 集合读取属性。

1. 解析 XML 字符串得到 Document 对象

浏览器中常用 DOMParser 将 XML 字符串转为可操作的 DOM 结构:

const xmlStr = `<book id="101" category="fiction" lang="zh"><title>三体</title></book>`;
const parser = new DOMParser();
const xmlDoc = parser.parseFromString(xmlStr, "application/xml");
登录后复制

⚠️ 注意:若解析失败(如格式错误),xmlDoc 中可能出现 <parsererror></parsererror>,建议检查 xmlDoc.documentElement.nodeName !== "parsererror"

2. 定位目标元素节点

可用 getElementsByTagNamequerySelectordocumentElement 等方式获取节点:

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

风车Ai翻译
风车Ai翻译

跨境电商必备AI翻译工具

风车Ai翻译 407
查看详情 风车Ai翻译
  • const book = xmlDoc.querySelector("book");
  • const book = xmlDoc.getElementsByTagName("book")[0];
  • const book = xmlDoc.documentElement; // 若根元素就是 book

3. 获取属性值的两种常用方法

✅ 推荐用 getAttribute(name) —— 简洁、安全、返回字符串或 null

  • book.getAttribute("id"); // → "101"
  • book.getAttribute("lang"); // → "zh"
  • book.getAttribute("price"); // → null(不存在时)

? 或访问 attributes 集合 —— 适合遍历所有属性:

  • book.attributes["category"].value; // → "fiction"
  • book.attributes.getNamedItem("id").value; // → "101"
  • Array.from(book.attributes).forEach(attr => console.log(attr.name, attr.value));

4. 注意事项

  • XML 属性名区分大小写:getAttribute("ID")getAttribute("id")
  • HTML 模式下解析 XML 可能出错,务必指定 MIME 类型 "application/xml"
  • 若 XML 来自网络(如 fetch),注意响应类型设为 text/xml 或用 response.text() 后手动解析

基本上就这些。只要 XML 解析成功,取属性就是一步调用,不复杂但容易忽略大小写和解析异常处理。

以上就是JavaScript怎么获取XML节点的属性值的详细内容,更多请关注php中文网其它相关文章!

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

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

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

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