如何使用Javascript保存xml文件?

joh*_*ohn 6 javascript xml

我试过了

1)使用javascript作为对象加载一个xml文件,比如note.xml

2)然后将对象保存到一个新的xml文件,比如note_new.xml

我做了1)但失败了2)

我尝试使用方法save()来做2).我失败后,我检查了ms网站,他们说不支持save()....

有人可以告诉我如何保存?

谢谢!

这是代码:

<html>
<head>  
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
</head>
<body>
<h1>W3Schools Internal Note</h1>
<p><b>To:</b> <span id="to"></span><br />
<b>From:</b> <span id="from"></span><br />
<b>Message:</b> <span id="message"></span>

<script type="text/javascript">
if (window.ActiveXObject){
alert("there is ActiveXObject");
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async=false; 
xmlDoc.load("note.xml"); 
}else{
alert("i am not withActiveXObject!");
xhttp=new XMLHttpRequest();
xhttp.open("GET","note.xml",false);
xhttp.send("");
xmlDoc=xhttp.responseXML;
}
xmlDoc.save("note_new.xml"); 
</script>

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

更新:

似乎这与安全问题有关.我向那些经验丰富的程序员道歉,因为这似乎是一个新手问题.

FK8*_*K82 7

您的问题是:javaScript没有输入/输出(I/O)API,因为它是客户端脚本语言,因此无法通过服务器访问文件系统.您需要使用服务器端脚本语言将数据保存到服务器.客户端可能存在解决问题的黑客攻击,但它们可能是无法解决的,也可能是其他问题.(顺便说一句:api是save方法成员?你做到了吗?)

您可以做的是将数据临时保存到任何DOM元素(例如窗口或javaScript)对象.然而,没有办法使这些变化永久化.

在您的情况下,查看PHP脚本可能是最好的方法.