写入现有的XML文件

时间:2014-06-16 18:04:10

标签: javascript php jquery html xmlhttprequest

所以这是任务。 我有一个现有的XML文件,位于我的公共Dropbox文件夹中。

Link to XML File

我知道如何通过以下教程

从XML文件中读取值

link to tutorial

并将2行更改为以下

xmlDoc=loadXMLDoc("https://dl.dropboxusercontent.com/u/4171179/testValues.xml");

x=xmlDoc.getElementsByTagName("growth");

但是我该如何写入该文件?说我想改变

<growth>1.25</growth>

<growth>1.05</growth>

如何做到这一点,甚至可能吗?

问候

的Anders

1 个答案:

答案 0 :(得分:0)

据我所知,Javascript不允许写入任何文件(本地硬盘或服务器)。出于安全原因。因此,您可以做的最好的事情是对服务器进行Ajax调用,并从XML文件中进行更改。

我建议您使用Ajax,因为这样您就不必一直刷新页面。您可以查看Jquery,以便以非常快速简便的方式进行ajax调用。

您在运营网站的服务器是什么类型的? Apache(PHP)或Windows(.NET)?

修改只是一个快速的JQuery ajax调用样本。

$.ajax({  
    type: "POST", 
    url: "some.php", 
    data: { name: "John", location: "Boston" }
}).done(function( msg ) {
    alert( "Data Saved: " + msg );
});

然后在服务器上(PHP)

<?php
   $growth_post = $_POST["growth"]; 
   ... code to handle the data ...

   $doc = new DOMDocument(); 
   $doc->load("https://dl.dropboxusercontent.com/u/4171179/testValues.xml");
   $items = $doc->getElementsByTagName("data"); 

   foreach( $items as $item ) {
        $growth = $item->getElementsByTagName("growth"); 
        $growth->item(0)->nodeValue = $growth_post;
    }
    $doc->save("https://dl.dropboxusercontent.com/u/4171179/testValues.xml")
?>

但是你必须确保你对Dropbox文件有写权限!