2016-05-12 94 views
0

我在這個項目中遇到了很多困難。 我的目標是使用Javascript將HTML表單的結果寫入XML文檔。我完全不知道如何去做。使用Javascript從HTML表單創建XML文檔

我來這裏的原因是我想確保我走在正確的軌道上。到目前爲止,我只寫了一行「\ n」來測試。

這裏是我當前的JavaScript

var xhr = false; 
if (window.XMLHttpRequest) 
{ 
xhr = new XMLHttpRequest(); 
} 
else if (window.ActiveXObject) 
{ 
xhr = new ActiveXObject("Microsoft.XMLHTTP"); 
} 

function StoreRegXml() 
{ 
xhr.open("GET", "php.php?" + Number(new Date), true); 
xhr.onreadystatechange = getData; 
xhr.send(null); 
} 

function getData() 
{ 
if ((xhr.readyState == 4) && (xhr.status == 200)) 
{ 
    var xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); 
    var fso = new ActiveXObject("Scripting.FileSystemObject"); 
    var filename = "customer.xml"; 
    var file = fso.CreateTextFile(filename, true); 
    file.WriteLine('<?xml version="1.0" encoding="utf-8"?>\n'); 
    file.Close(); 
} 
} 

我在正確的軌道上?

編輯:我添加警報('test1');看看代碼出錯的地方,它停在

var xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); 

任何想法?

+0

用XMLHttpRequest調用的PHP腳本是否返回XML文檔?或者你想用Javascript代碼創建一個XML文檔?你想如何處理XML文檔,將其保存到本地文件系統?你需要更詳細地解釋你定位的環境,所有'ActiveXObject'的東西都是IE特定的。並且在瀏覽器窗口中加載的HTML文檔中通過腳本訪問本地文件系統受到安全限制,因此請詳細解釋腳本的HTML是來自HTTP服務器還是本地文件系統。 –

+0

PHP腳本當前不返回任何內容,我更願意使用Javascript編寫XML文檔。 JavaScript/HTML文件存儲在www/htdocs/assignment2中。 XML存儲在/ www/data /中。 我認爲這個答案最多。 – Tauntaunwampa

回答

1

在瀏覽器中創建和填充XML DOM文檔,您可以使用W3C DOM APIs

var xmlDoc = document.implementation.createDocument(null, 'root', null); 
 

 
var foo = xmlDoc.createElement('foo'); 
 
foo.textContent = 'bar'; 
 

 
xmlDoc.documentElement.appendChild(foo); 
 

 
console.log(xmlDoc);

這將創建一個在內存中的XML DOM文檔,而不是一個XML文件。然後您可以將xmlDocXMLHttpRequest發送到服務器。