Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/372.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/AJAX连接两个XML文件_Javascript_Xml_Ajax_Dom - Fatal编程技术网

使用JavaScript/AJAX连接两个XML文件

使用JavaScript/AJAX连接两个XML文件,javascript,xml,ajax,dom,Javascript,Xml,Ajax,Dom,我的任务是将XML文件分成两部分,以便于编辑 但是所有现有的代码库都被设计成将其作为单个文件处理 作为中间立场(由于时间有限),我决定拆分文件,但只需使用以下代码将拆分的文件连接起来 var xmlDoc; xmlhttp.open("GET","distributome-relations.xml",false); xmlhttp.send(); xmlDoc = xmlhttp.responseXML; xmlhttp=createAjaxReques

我的任务是将XML文件分成两部分,以便于编辑

但是所有现有的代码库都被设计成将其作为单个文件处理

作为中间立场(由于时间有限),我决定拆分文件,但只需使用以下代码将拆分的文件连接起来

    var xmlDoc;
    xmlhttp.open("GET","distributome-relations.xml",false);
    xmlhttp.send();
    xmlDoc = xmlhttp.responseXML;
    xmlhttp=createAjaxRequest();
    xmlhttp.open("GET","distributome-references.xml",false);
    xmlhttp.send();
    xmlDoc = xmlDoc+xmlhttp.responseXML;
            try{
        DistributomeXML_Objects=xmlDoc.documentElement.childNodes;
    }catch(error){
        DistributomeXML_Objects=xmlDoc.childNodes;
    }
当原始代码

xmlhttp.open("GET","Distributome.xml",false);
    xmlhttp.send();
    if (!xmlhttp.responseXML.documentElement && xmlhttp.responseStream)
        xmlhttp.responseXML.load(xmlhttp.responseStream);
    xmlDoc = xmlhttp.responseXML;
    try{
        DistributomeXML_Objects=xmlDoc.documentElement.childNodes;
    }catch(error){
        DistributomeXML_Objects=xmlDoc.childNodes;
    }
很好用

我不知道该怎么做

我只是简单地分割了文件

进入

最后两个文件的格式将不正确,因为只有两个文件的简单连接才是有效的XML文档

我怀疑这是由于使用了responseXML方法,我应该使用另一种方法

有没有更好的办法。我欢迎任何建议,当然也欢迎对我最初问题的回答


谢谢

如果您解释一下
似乎不起作用的内容
会有所帮助,但是从快速查看您的代码中,我可以看出您正在尝试使用
+
连接两个对象。这一行:

xmlDoc = xmlDoc + xmlhttp.responseXML;
XHR的
responseXML
属性不会像您期望的那样返回字符串(顺便说一句,将两个这样的XML文件连接起来很可能会导致格式不正确的XML)。第二个示例正确地处理了它的本质—DOM文档对象

您可以阅读有关
responseXML
的更多信息。请注意有关
内容类型
的说明,以及您可能需要如何在XHR上使用
OverrideMetype()
,以使其相信如果服务器未正确设置标头,它会从服务器收到XML


要以支持XML的方式进行连接,需要从第二个文档()中获取根节点,使用将其导入到第一个文档中,然后将其作为子节点附加到您希望它使用的位置

如果您解释一下
似乎不起作用的内容
会有所帮助,但通过快速查看您的代码,我可以看出您正在尝试使用
+
连接两个对象。这一行:

xmlDoc = xmlDoc + xmlhttp.responseXML;
XHR的
responseXML
属性不会像您期望的那样返回字符串(顺便说一句,将两个这样的XML文件连接起来很可能会导致格式不正确的XML)。第二个示例正确地处理了它的本质—DOM文档对象

您可以阅读有关
responseXML
的更多信息。请注意有关
内容类型
的说明,以及您可能需要如何在XHR上使用
OverrideMetype()
,以使其相信如果服务器未正确设置标头,它会从服务器收到XML


要以支持XML的方式进行连接,您需要从第二个文档()中获取根节点,使用将其导入到第一个文档中,然后使用将其作为子节点附加到您希望的位置。将文件扫描为文本、连接并将字符串视为XML对象是否有效?基本上,xmlDoc不是一个有效的XML对象——根据您的解释,这一点现在看起来很明显。我会查看文档,希望能把事情弄清楚。好吧,你也可以这样做。只需确保将第二个文档添加到第一个文档的正确位置即可。如果它携带
我明白了。将文件扫描为文本、连接并将字符串视为XML对象是否有效?基本上,xmlDoc不是一个有效的XML对象——根据您的解释,这一点现在看起来很明显。我会查看文档,希望能把事情弄清楚。好吧,你也可以这样做。只需确保将第二个文档添加到第一个文档的正确位置即可。如果它携带