使用 javascript 创建一个新的空文档

mor*_*des 6 javascript xml dom

我正在使用一些非常不直观的 xml(所有标签都是“TX”、“H”、“VC”)。

我想复制这些数据,但将所有标签重命名为它们的实际含义。我可以创建一个新的空文档来放入新的、命名良好的标签吗?

我试过这个:

doc = (new DOMParser()).parseFromString("", 'text/xml');
Run Code Online (Sandbox Code Playgroud)

但是当我这样做时,我最终得到一个具有子节点的文档,而不是空的。此外,该孩子的标记名是“parsererror”

那么,有什么想法可以创建一个空文档吗?

小智 6

我遇到了同样的问题,我解决了它,如下所示:

xmlDoc = document.implementation.createDocument("", "", null);
root = xmlDoc.createElement("description");
xmlDoc.appendChild(root);
alert((new XMLSerializer()).serializeToString(xmlDoc));
Run Code Online (Sandbox Code Playgroud)


Joh*_*kin 1

我认为没有根节点就无法创建文档。您可以创建一个假节点:

doc = (new DOMParser()).parseFromString("<dummy/>", 'text/xml');
Run Code Online (Sandbox Code Playgroud)

然而,更好的解决方案可能是为节点名称创建常量:

// Use different variable names, like RealTxName, if desired
var REAL_TX_NAME = "TX";
var REAL_H_NAME = "H";

...
doc.find (REAL_TX_NAME);
...
Run Code Online (Sandbox Code Playgroud)