$.parsexml()将合法XML字符串解析为原生XML Document对象,需用$()包装后才能使用jquery方法操作,解析失败会抛异常,须try-catch捕获。

jQuery 的 $.parseXML() 方法用于将格式良好的 XML 字符串解析为可用的 XML 文档对象(Document),方便后续用 jQuery 或原生 dom 方法遍历和操作。
基本用法:把字符串转成 XML 文档
该方法只接受符合 XML 语法的字符串,返回一个标准的 XML Document 对象(不是 jQuery 对象)。如果字符串格式错误,会抛出异常,需用 try-catch 捕获。
- 必须是严格格式的 XML(如根元素唯一、标签闭合、属性加引号)
- 返回的是原生 DOM 文档对象,不是 $() 包装后的 jQuery 对象
- 常见用途:处理 ajax 返回的 XML 响应、本地 XML 字符串解析
解析后怎么用 jQuery 查找和读取内容
解析得到 XML 文档后,可传给 $() 包装,再用 jQuery 方法操作(注意:需指定上下文或用 .find() 等方法)。
var xmlStr = '<root><item id="1">苹果</item><item id="2">香蕉</item></root>'; var xmlDoc = $.parseXML(xmlStr); var $xml = $($xmlDoc); // 包装成 jQuery 对象 $xml.find('item').each(function() { var id = $(this).attr('id'); var text = $(this).text(); console.log(id + ': ' + text); // 输出 "1: 苹果", "2: 香蕉" });
常见问题与注意事项
实际使用中容易踩坑,尤其在跨浏览器或处理响应时:
PHP5学习对象教程
291
PHP5学习对象教程由美国人古曼兹、贝肯、瑞桑斯编著,简张桂翻译,电子工业出版社于2007年12月1日出版的关于PHP5应用程序的技术类图书。该书全面介绍了PHP 5中的新功能、编程方法及设计模式,还分析阐述了PHP 5中新的数据库连接处理、错误处理和XML处理等机制,帮助读者系统了解、熟练掌握和高效应用PHP。
291 - AJAX 默认不自动解析 XML,若服务器返回 XML,建议设
dataType: 'xml',jQuery 会自动调用$.parseXML() - 不要直接对 XML 字符串用
$(),那会当成 html 解析,导致结构错乱 - 中文字符需确保 XML 字符串编码与页面一致(通常 UTF-8),否则可能乱码
- IE8 及更早版本对 XML 支持较弱,
$.parseXML()内部做了兼容处理,但建议测试
替代方案:不用 jQuery 也能解析
现代浏览器支持原生 DOMParser,更轻量且不依赖 jQuery:
var parser = new DOMParser(); var xmlDoc = parser.parseFromString(xmlStr, 'text/xml'); // 后续操作方式类似,$($xmlDoc) 仍可用
不过 $.parseXML() 在低版本 IE 中更稳妥,内部已封装兼容逻辑。
基本上就这些。核心就三点:字符串要合法、解析后记得包装、查找前确认上下文。不复杂但容易忽略细节。