在我的 javascript 中我有以下内容:
let person = document.createElement('person');
let name = document.createElement('name');
let surname = document.createElement('surname');
person.appendChild(name);
person.appendChild(surname);
let xml = person;
如何将“xml”变量保存在文件中(仅使用 javascript)? OBS:内容不要单行呈现,要以树状结构呈现:
<person>
<name></name>
<surname></surname>
</person>
最佳答案
有一种非常简单的方法可以使用 XMLSerializer
将您的文档序列化为 XML。 .
过程如下:
- 为 XMLSerializer 提供一个元素以序列化为 XHTML(这是有效的 XML)。
- 可选择使用
String.prototype.replace
删除xhtml
命名空间 - 使用vkbeautify pretty-print (没有 pretty-print 的原生方式)
let person = document.createElement('person');
let name = document.createElement('name');
let surname = document.createElement('surname');
person.appendChild(name);
person.appendChild(surname);
// 1.) use XMLSerializer
let xml = new XMLSerializer().serializeToString(person);
// 2.) remove xml namespace
let xmlWithoutNamespace = xml.replace(' xmlns="http://www.w3.org/1999/xhtml"', '');
// 3.) use vkbeautify or your other favorite library to pretty print
console.log(vkbeautify.xml(xmlWithoutNamespace));
<script src="https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/vkbeautify/vkbeautify.0.99.00.beta.js"></script>
关于javascript - 使用javascript将DOM保存为文件中的xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43175957/