2009-07-28 43 views

回答

0

什麼情況下是文件中運行,而你去哪兒保存新的XML數據?

(通常情況下是瀏覽器,在這種情況下,你基本上能夠顯示它或將它張貼回服務器。)

但是,如果你正在編寫一個腳本,將在瀏覽器之外運行, 這取決於。

+0

我正在獲取google地圖的數據,並且需要存儲在xml文件中, 以及我需要根據xml元素創建地圖的xml文件。 – Avinash 2009-07-28 07:00:52

+1

好吧,我想這意味着您正在運行瀏覽器(儘管它不一定如此)。當你存儲XML文件時,你想在哪裏存儲它? (在瀏覽器運行的計算機的文件系統中?在服務器所在的服務器上?) – 2009-07-28 07:03:04

+0

我需要將它存儲在服務器上。 – Avinash 2009-07-28 07:03:57

1

在IE中,您可以使用ActiveX操縱XML。
還有一個FF和其他W3C兼容瀏覽器的內置對象。
我建議你看看this article

8

我發現林依晨Flesler的XMLWriter的構造函數是一個良好的開端從頭開始創建XML,看看這個

http://flesler.blogspot.com/2008/03/xmlwriter-for-javascript.html

function test(){  
    var v = new XMLWriter(); 
    v.writeStartDocument(true); 
    v.writeElementString('test','Hello World'); 
    v.writeAttributeString('foo','bar'); 
    v.writeEndDocument(); 
    console.log(v.flush()); 
} 

結果

<?xml version="1.0" encoding="ISO-8859-1" standalone="true" ?> 
<test foo="bar">Hello World</test> 

需要注意的一點是,我噸不逃避字符串。

又見 Libraries to write xml with JavaScript

1

我創建了兩個函數如下:

function loadXMLDoc(filename){ 
    if (window.XMLHttpRequest){ 
     xhttp=new XMLHttpRequest(); 
    } 
    else { 
    xhttp=new ActiveXObject("Microsoft.XMLHTTP"); // code for IE 5-6 
    } 
    xhttp.open("GET",filename,false); 
    xhttp.send(); 
    return xhttp.responseXML; 
} 

而且,將XML寫入到本地文件調用下面的函數。

function writeXML() 
    { 
     var xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); 
     var fso = new ActiveXObject("Scripting.FileSystemObject"); 
     var FILENAME="D:/YourXMLName/xml"; 
     var file = fso.CreateTextFile(FILENAME, true); 
     file.WriteLine('<?xml version="1.0" encoding="utf-8"?>\n'); 
     file.WriteLine('<PersonInfo>\n'); 
     file.WriteLine('></Person>\n'); 
     } 
     file.WriteLine('</PersonInfo>\n'); 
     file.Close(); 
    } 

我希望這可以幫助,否則,你可以嘗試Ariel Flesler's XMLWriter在內存中創建XML。