2009-06-19 93 views
3

嘿傢伙,我只是學習JavaScript,我有一個問題,我希望有人可以回答。是否可以從服務器獲取XML文件(不是HTML),使用客戶端JavaScript添加/刪除/編輯它的特定部分,然後將其發送回服務器進行保存? JSON或任何其他標記/數據交換格式也適用。使用JavaScript編輯XML文件?

+0

你打算用服務器端語言(PHP,.NET等)將它保存回服務器嗎?或者你也問是否可以將它保存到服務器與JavaScript? – 2009-06-19 14:42:46

+0

它甚至可以使用JavaScript將其保存到服務器? 無論如何,我打算使用CGI。 – Skofo 2009-06-19 14:57:41

+0

Javascript是客戶端語言。但是,您可以使用XmlHttpRequest對包含邏輯的CGI腳本進行編程式POST,以便將其保存在本地。 – 2009-06-19 18:31:50

回答

3

是的。使用jQuery ...

$.get("myGetUrl.php", function(data) { 
    var xml = $(data); 

    xml.find("myNode").text("newValue"); 

    $.post("myPostUrl.php", xml, function(resp) { 
    alert(resp); 
    }, "xml"); 
}); 
0

是的,這是可能的。尋找「XML DOM」,你可以很容易地在客戶端編輯它。

0

是的。您可以通過AJAX讀取XML文檔,並像使用HTML一樣遍歷DOM。如果你使用像jQuery這樣的框架,它會更容易。

0

當然可以。您可以使用XMLHttpRequest對象爲文件發出請求,執行數據所需的任何操作,然後使用另一個XMLHttpRequest將整個文檔發回。你可以用XML來做到這一點(這對於下載原始文檔來說可能是最簡單的),但是你可能最容易使用JSON來發送回服務器。您需要一個服務器端腳本(例如PHP,ASP,Ruby)來接收發布的數據,然後將其格式化(然後將JSON轉換爲XML文檔)並將其保存爲文件或保存爲數據庫。

這個問題太籠統了,無法進入具體的實施,但如果你需要額外的幫助這些步驟只是問。

0

當然。如果服務器使用text/xml MIME類型提供XML文檔,您可以使用XMLHttpRequest來獲取XML文檔。 responseText屬性將爲您提供XML文本,但瀏覽器也會爲您解析XML並在responseXML中提供DOM樹。您可以隨意修改該DOM,然後將其序列化並將其發送回服務器。

你也可以用同樣的方法使用JSON。您使用XMLHttpRequest從服務器獲取數據,然後使用jsonData = eval(xhr.responseText)將JSON數據轉換爲JavaScript對象。

每個主要的JavaScript庫都有模塊/函數來幫助執行這些方法。 XML和JSON是Ajax應用程序中兩種最流行的數據交換方法。