如何从JavaScript更改XML元素值?

时间:2009-06-12 19:20:53

标签: javascript xml dom

我有一个XML DB,我已经能够使用DOM和JS解析XML。我无法弄清楚的是,如何更改XML数据库中的值?

我尝试使用:

xmlDoc.getElementsByTagName("COMMENT")[0].childNodes[0].nodeValue="text"; 

但这不会改变实际的数据库。当我刷新页面时,它再次给了我相同的旧值。

我做错了什么?


编辑:

我只在客户端页面上进行更改,而不是发送数据以在数据库本身进行相关更改。

我知道我应该使用AJAX或者其他东西,但是请你告诉我应该阅读的内容或我可以学习的一些例子吗?

3 个答案:

答案 0 :(得分:2)

您无法使用JavaScript写入XML,只能将XML DOM的副本加载到内存中并操纵该副本。显然,当JS实例重新启动(重新加载页面)或从原始文件重新加载时会被破坏。

如果XML在服务器上,则需要服务器端语言(如PHP,ASP.NET,Ruby on Rails等)将任何内容写入服务器上的磁盘。该代码在服务器上执行,而不是在浏览器中执行。

要在JavaScript代码和服务器端代码之间进行通信,AJAX就是答案。 A List Apart has a good resource for getting started。想到的最简单的模型是使用AJAX将完整的,经过修改的XML块发送到服务器端代码,只需保存它。

如果您正在处理大文件和频繁更新,您可能需要考虑使用AJAX向服务器端代码发送操作指令,该代码执行更改并保存文件。

答案 1 :(得分:0)

您告诉我们基本上没有相关信息,但很可能您只是更改客户端页面,并且不会努力发回(例如使用表单或AJAX)更改。

答案 2 :(得分:0)

您需要在更改后保存数据库。在Web浏览器上使用DOM和JS是不可能的,因此您应该使用AJAX或类似于处理XML