JavaScript中创建XML DOM对象主要有两种方式:一是用document.implementation.createDocument()创建空XML文档并手动构建节点;二是用DOMParser解析XML字符串。序列化用XMLSerializer,注意兼容性与转义问题。

JavaScript 中创建 XML DOM 对象,核心是使用 DOMParser 解析字符串,或用 document.implementation.createDocument() 创建空 XML 文档。动态生成 XML 主要靠手动构建节点并追加,而非直接拼接字符串(避免格式/转义问题)。
适用于从零开始构建结构清晰的 XML:
document.implementation.createDocument(namespaceURI, rootElementName, doctype)null 或 ""(无命名空间),第二个是根元素名,第三个通常传 null
XMLDocument 对象,后续可用 createElement、createTextNode 等方法添加内容示例:
const xmlDoc = document.implementation.createDocument("", "bookstore", null);
const book = xmlDoc.createElement("book");
const title = xmlDoc.createElement("title");
title.appendChild(xmlDoc.createTextNode("JavaScript Guide"));
book.appendChild(title);
xmlDoc.documentElement.appendChild(book);
适合已有 XML 结构字符串,需转为可操作的 DOM 对象:
立即学习“Java免费学习笔记(深入)”;
new DOMParser().parseFromString(xmlString, "application/xml")"application/xml"(不是 "text/xml",部分浏览器会报错)<parsererror></parsererror>,建议检查 xmlDoc.querySelector("parsererror")
示例:
const xmlStr = `<?xml version="1.0"?><note><to>Alice</to><from>Bob</from></note>`;
const xmlDoc = new DOMParser().parseFromString(xmlStr, "application/xml");
if (xmlDoc.querySelector("parsererror")) {
console.error("XML 解析失败");
}
生成后若需输出或发送,用 XMLSerializer 转回字符串:
new XMLSerializer().serializeToString(xmlDoc)<?xml version="1.0"?>),前提是原始文档有 xmlDoc.xmlVersion 等设置(但多数场景默认即可)XMLSerializer,旧项目需兼容时可用 xmlDoc.xml(仅 IE)或降级处理构建真实业务 XML 常需属性与嵌套文本混合:
element.setAttribute("name", "value") 添加属性element.textContent = "xxx" 设置文本内容(比 createTextNode 更简洁)、<code>&)引发解析错误
示例(带属性):
const person = xmlDoc.createElement("person");
person.setAttribute("id", "101");
person.setAttribute("type", "student");
person.textContent = "张三";
xmlDoc.documentElement.appendChild(person);
以上就是JavaScript如何创建XML DOM对象 JS动态生成XML的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号