2016-05-12 93 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发送到服务器。