我想在Javascript中生成的XML文档中添加声明,但是我没有找到足够的文档。
假设我想通过编程方式(使用Javascript)创建以下XML文档:
<?xml version="1.0" encoding="UTF-8"?>
<people>
<person first-name="eric" last-name="jung" />
</people>
这是我的代码:
let doc = document.implementation.createDocument("", "", null);
let peopleElem = doc.createElement("people");
let personElem = doc.createElement("person");
personElem.setAttribute("first-name", "eric");
personElem.setAttribute("last-name", "jung");
peopleElem.appendChild(personElem);
doc.appendChild(peopleElem);
let docStr = new XMLSerializer().serializeToString(doc.documentElement);
console.log(docStr);
// produces:
// <people>
// <person first-name="eric" last-name="jung" />
// </people>
// and not:
// <?xml version="1.0" encoding="UTF-8"?>
// <people>
// <person first-name="eric" last-name="jung" />
// </people>
我该如何在生成的XML中获取
<?xml version="1.0" encoding="UTF-8"?>
呢?注意:我知道在这种情况下添加声明是无用的,但最终我想要使用特定的命名空间并向我的文档添加自定义XML实体。
谢谢您的帮助。
createDocument
曾允许传递 DTD/doctype 参数。 - Martin HonnenserializeToString
不需要它。不确定是否存在更低级别的API可以将其序列化到流或文件中,在那里需要设置/确保特定编码的能力。 - Martin Honnen<?xml-model ...?>
标记。是否有一种简洁的方法来实现这个? - JacopoStanchi