根据输入值创建XML文件

时间:2013-05-22 17:28:51

标签: javascript xml xml-parsing xmlhttprequest

因此,我需要一个脚本,在URL中使用全部表单数据,并创建或更改XML文件的现有节点。

我做了一些研究并发现了这个:

if (window.XMLHttpRequest) {
    // code for IE7+, Firefox, Chrome, Opera, Safari
    xmlhttp=new XMLHttpRequest();
}
else {// code for IE6, IE5
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}

xmlhttp.open("GET","page1.xml",false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;

function addElement() {
    var rootElement = document.documentElement;      
    var name = document.getElementById('namefield').value;
    var title = document.getElementById('titlefield').value;
    var phone = document.getElementById('phonefield').value;
    var email = document.getElementById('emailfield').value;

    /* create employee element*/
    var newEmployee = document.createElement('employee');

    /* create child elements and text values and append one by one */
    var newName = document.createElement('name');
    var newNameText = document.createTextNode(name);
    newName.appendChild(newNameText);
    newEmployee.appendChild(newName);

    var newTitle = document.createElement('title');
    var newTitleText = document.createTextNode(title);
    newTitle.appendChild(newTitleText);
    newEmployee.appendChild(newTitle);

    var newPhone = document.createElement('phone');
    var newPhoneText = document.createTextNode(phone);
    newPhone.appendChild(newPhoneText);
    newEmployee.appendChild(newPhone);

    var newEmail = document.createElement('email');
    var newEmailText = document.createTextNode(email);
    newEmail.appendChild(newEmailText);
    newEmployee.appendChild(newEmail);

    /* append completed record to the document */
    rootElement.appendChild(newEmployee);
    xmlDoc.save("page1.xml")
}

唯一的问题是网址可能具有的可能的表单数据,或者可能存在,我不确定脚本将如何响应,我不是一个wiz关于JavaScript如何创建XML并编写它,更改它,我还需要知道它是否会更新它。

这是XML应该是什么样子的样本:(我将来会更改脚本以适应这种情况)

<XML stuff>
    <document>
        <docname>My Document</docname>
        <text>Text</text>
        and so on...
    </document>

0 个答案:

没有答案