在javascript中添加节点到xml文件

问题描述:

我想添加一个条目到使用javascript的xml文件。下面的代码应该添加一个名为book的节点到这个文件中。但它根本不起作用。我也尝试了一些其他代码来改变xml数据库中的条目,但也没有成功。那么我的过错是什么?在javascript中添加节点到xml文件

CODE:

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; 
} 

xmlDoc=loadXMLDoc("database.xml"); 

newNode = xmlDoc.createElement("entry"); 
newNode.nodeValue = "aaaaa"; 
x=xmlDoc.documentElement; 
x.appendChild(newNode); 

XML文件(database.xml):

<?xml version="1.0" encoding="ISO-8859-1"?> 
<database> 
<entry> 
    <title>Everyday Italian</title> 
    <content>Strange. I seem to get hungry about the same time every day!</content> 
    <time>August 7, 2012, 6:24 PM</time> 
    <comment>Giada De Laurentiis</comment> 
</entry> 
<entry> 
    <title>I'm Hungry</title> 
    <content>I really need something to eat!!</content> 
    <time>August 7, 2012, 6:24 PM</time> 
    <comment>Giada De Laurentiis</comment> 
</entry> 
</database> 

您正在阅读通过网络的XML文件,而我猜你正在修改在MEMORY中加入一个新节点的XML文件。但是代码中没有任何东西可以将修改的XML文件从内存中保存到可持久的介质中。您可以实现POST或PUT方法来写入文件,就像执行GET方法来读取文件一样。当然,您的Web服务器应该配置为接受这样的PUT请求并覆盖原始文件。

+0

你能举一个例子来说明如何实现这个POST OR PUT方法吗? –

+0

这完全取决于您将哪个软件用作Web服务器。你在使用IIS吗?或Apache?或NodeJS? –

+0

修复了整个事情与PHP。多么愚蠢的想法来修改文件客户端;) –