DOMParser.parseFromString用于安全解析HTML/XML字符串为DOM文档,需传入字符串和MIME类型;"text/html"自动补全body结构,"application/xml"严格校验格式并可能返回parsererror。

DOMParser.parseFromString 用来把一段字符串(比如 HTML 或 XML)安全地转成 DOM 文档对象,不执行脚本、不加载外部资源,适合解析动态生成的 HTML 片段或服务端返回的结构化内容。
必须传两个参数:要解析的字符串 + MIME 类型。类型决定了浏览器如何解析:
示例:
const parser = new DOMParser(); const htmlStr = "<div><p>Hello</p><p><span>立即学习</span>“<a href="https://pan.quark.cn/s/c1c2c2ed740f" style="text-decoration: underline !important; color: blue; font-weight: bolder;" rel="nofollow" target="_blank">Java免费学习笔记(深入)</a>”;</p><span>World</span></div>"; const doc = parser.parseFromString(htmlStr, "text/html"); console.log(doc.body.firstElementChild); // <div>...</div>
用 "text/html" 解析时,DOMParser 会自动补全基础结构(类似浏览器加载 HTML 页面),把内容塞进 中:
"<p>hi</p>",结果文档里 doc.body.innerHTML 就是 "<p>hi</p>"
doc.documentElement 是 ,doc.head 和 doc.body 都存在(可能为空)doc.body.children 或 doc.body.querySelector(...)
XML 模式更严格:
/> 或乱码,parseFromString 都会返回一个带错误信息的 XML 文档(不是抛异常)doc.documentElement.nodeName === "parsererror" 来判断是否解析失败示例:
const xmlStr = "<root><item id='1'>A</item></root>";
const xmlDoc = parser.parseFromString(xmlStr, "application/xml");
if (xmlDoc.documentElement.nodeName === "parsererror") {
console.error("XML 解析失败", xmlDoc.documentElement.textContent);
}
doc.body.querySelectorAll(".title")),比用 innerHTML + 正则安全得多"text/html" 解析用户输入的富文本——仍需做 XSS 过滤,DOMParser 不防恶意事件属性(如 onclick)document.adoptNode() 或直接取 doc.body.childNodes 转成 DocumentFragment基本上就这些。不复杂但容易忽略 MIME 类型和解析后结构的位置。
以上就是JavaScript DOMParser的parseFromString方法怎么用的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号