Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用javascript创建新的空文档_Javascript_Xml_Dom - Fatal编程技术网

使用javascript创建新的空文档

使用javascript创建新的空文档,javascript,xml,dom,Javascript,Xml,Dom,我正在使用一些非常不直观的xml(所有的标记都是“TX”、“H”、“VC”) 我想复制这些数据,但是所有的标签都被重命名为它们的实际含义。我是否可以创建一个新的空文档,将新的、命名良好的标记放入其中 我试过这个: doc = (new DOMParser()).parseFromString("", 'text/xml'); 但当我这样做时,我得到的是一个有子节点的文档,而不是空的。此外,该子标记名是“parsererror” 那么,你知道如何创建一个空文档吗?我不认为没有根节点就可以创建一个

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

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

我试过这个:

doc = (new DOMParser()).parseFromString("", 'text/xml');
但当我这样做时,我得到的是一个有子节点的文档,而不是空的。此外,该子标记名是“parsererror”


那么,你知道如何创建一个空文档吗?

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

doc = (new DOMParser()).parseFromString("<dummy/>", 'text/xml');

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

xmlDoc = document.implementation.createDocument("", "", null);
root = xmlDoc.createElement("description");
xmlDoc.appendChild(root);
alert((new XMLSerializer()).serializeToString(xmlDoc));
您可以使用以下代码在W3CDOM兼容浏览器(IE9+和其他浏览器)中创建一个空浏览器

var doc = (new DOMParser()).parseFromString('<dummy/>', 'text/xml');
doc.removeChild(doc.documentElement);
var doc=(new-DOMParser()).parseFromString(“”,'text/xml');
doc.removeChild(doc.documentElement);
允许为
createDocument
的三个参数中的每一个提供
null
,创建并返回一个“空”XML文档——一个没有任何根节点且以
应用程序/XML
作为其内容类型的文档

文档
对象可用时(兼容的Web用户代理),可以使用
文档引用
createDocument
方法的实现。实现

document.implementation.createDocument(null, null, null);
然后,您可以简单地将您选择的根节点附加到它,只需像其他方式一样附加它,如下所示(
empty_doc
将引用通过上述调用创建和返回的文档):


谢谢我已经考虑过这种方法,并可能最终使用它。我只是在几个方向上迈出了几步,看看哪个方向看起来/感觉更有希望。
var xmldom = require('xmldom');
var tree = (new xmldom.DOMImplementation()).createDocument();
document.implementation.createDocument(null, null, null);
empty_doc.appendChild(empty_doc.createElement("foobar"));