如何使用Javascript保存xml文件?

时间:2010-05-09 13:47:15

标签: 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>

更新

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

1 个答案:

答案 0 :(得分:7)

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

您可以做的是将数据临时保存到任何DOM元素(例如窗口或javaScript)对象。但是,无法永久地进行这些更改。

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