Javascript 如何从xmlDoc打印xml字符串
我正在从服务器读取xml文档,我必须在本地修改该xml文档并将xml文档响应存储在服务器上,但我无法打印更改后的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
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);然后我将把这个代码发送到服务器