2012-09-17 40 views
0

發送回這就是我需要:寫入文件,並使用JavaScript

我需要使用標準的代碼來從服務器獲取XML文件:

if(window.XMLHttpRequest) 
    xmlhttp = new XMLHttpRequest(); 
else 
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); // For IE6 

xmlhttp.open("GET", xml_file, false); 
xmlhttp.send(); 
xmldoc = xmlhttp.responseXML; 

在此之後,我需要做對我收到的XML信息進行一些更改並將其保存到服務器。這可能嗎?我可以編輯文件客戶端並將其發送到服務器以替換舊文件嗎?

+0

假設這是一個完整的XML文件,那麼你解析到一個DOM樹,做你的操作,轉換回字符串,並將字符串發回服務器。永遠不需要使用實際的文件,而標準的JS沒有任何概念。 –

+0

也感謝您的意見。 – petermlm

回答

1

那麼,你可以,但你需要一個服務器端腳本,將接受文件(作爲一個字符串)並保存它。

您將需要一個網址,將接受該文件的內容並把它寫在服務器上:

//site.com/writeXML.php

該文件將接受文件的內容(也就是說,作爲file_contents參數) 現在,你有你的內容發送到文件

//Do something with xmlDoc 

if(window.XMLHttpRequest) 
    xmlhttp = new XMLHttpRequest(); 
else 
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); // For IE6 
    xmlhttp.open("POST", "http://site.com/writeXML.php", false); 
    xmlhttp.send("file_contents="+xmlDoc); 

在服務器端,你需要接受的數據,並將其寫入文件,如下所示:

$contents=$_POST['file_contents']; 
    $handle = fopen("/home/user/data/xmlFile.xml, "wb"); 
    fwrite($handle, $contents); 
+0

謝謝!這是我需要的東西。 – petermlm