Javascript 如何从xmlDoc打印xml字符串

Javascript 如何从xmlDoc打印xml字符串,javascript,html,xml,Javascript,Html,Xml,我正在从服务器读取xml文档,我必须在本地修改该xml文档并将xml文档响应存储在服务器上,但我无法打印更改后的xml响应,请帮助我 function loadXMLDoc(dname) { if (window.XMLHttpRequest) { xhttp=new XMLHttpRequest(); } else { xhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xhttp.open("GET",dname,false); x

我正在从服务器读取xml文档,我必须在本地修改该xml文档并将xml文档响应存储在服务器上,但我无法打印更改后的xml响应,请帮助我

function loadXMLDoc(dname)
{
if (window.XMLHttpRequest)
{
    xhttp=new XMLHttpRequest();
}
else
{
    xhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xhttp.open("GET",dname,false);
xhttp.send();
return xhttp.responseXML;
}


function stringsxmlparsing()
{
console.log("\n\nThis is books.xml demo\n\n");

xmlDoc=loadXMLDoc("books.xml");

//Changing attribute value
x=xmlDoc.getElementsByTagName('string');
x[0].setAttribute("name","food");

//Accessing attribute value
txt=xmlDoc.getElementsByTagName("string")[0].getAttribute("name");
console.log("getAttribute value :"+txt

 //here i have to send response xml to server

 //I have tried  
 //console.log(xmlDoc.toXMLString()) but won't worked
}

您需要等待响应,因为XHR请求是异步的

xhttp.onreadystatechange = function() {
    if (xhttp.readyState == 4 && xhttp.status == 200) {
        parseResponse(xmlhttp.responseXML);
    }
}
来源:


我在xmlDoc中有响应,我必须将此响应发布到服务器哦,我甚至没有注意到async=false标志。不推荐使用同步xhr(,)。不要用那些。我不知道你在说什么。您在哪里向服务器发送响应?看起来您只是在将消息记录到控制台。您缺少一个XHR调用。在控制台上打印更改后的xml后,我将使用ajax post将xml数据发送到php服务器。但是我没有得到更改过的xml字符串。除非您提供一个示例,否则都是猜测。最好是JSFIDLE。嘿,克里斯,谢谢你的回复,我已经通过这段代码完成了。所以我想和你分享代码。aa=xmlDoc.documentElement;控制台日志(aa);变量字符串=(新的XMLSerializer()).serializeToString(xmlDoc);然后我将把这个代码发送到服务器