Javascript 使用JS或jQuery将新节点添加到本地XML文件
我想从用户输入向XML文件添加新元素。 我尝试了很多可能的方法,但没有一种对我有效:( 如何使用JavaScript或jQuery将新节点/元素/项添加到现有的本地XML文件中 这是我目前的状态:Javascript 使用JS或jQuery将新节点添加到本地XML文件,javascript,jquery,xml,Javascript,Jquery,Xml,我想从用户输入向XML文件添加新元素。 我尝试了很多可能的方法,但没有一种对我有效:( 如何使用JavaScript或jQuery将新节点/元素/项添加到现有的本地XML文件中 这是我目前的状态: function addElement() { var xml; if (window.activexobject) { xml = new activexobject("microsoft.xmlhttp"); } else { xml = n
function addElement() {
var xml;
if (window.activexobject) {
xml = new activexobject("microsoft.xmlhttp");
} else {
xml = new xmlhttprequest();
}
xml.onreadystatechange = function () {
if (xml.readystate == 4 && xml.status == 200) {
var resp = xml.responsexml;
var user = xml.responsexml.createelement("User");
var name = xml.responsexml.createelement("name");
name.appendchild(xml.responsexml.createtextnode("sof_user"));
var admin = xml.responsexml.createelement("admin");
admin.appendchild(xml.responsexml.createtextnode("false"));
user.appendchild(name);
user.appendchild(admin);
xml.responsexml.documentelement.appendchild(user);
}
}
xml.open("get", "users.xml", true);
xml.send(null);
}
XML应该如下所示:
<Users>
<User>
<name>testuser</name>
<admin>true</admin>
</User>
<User>
<name>sof_user</name>
<admin>false</admin>
</User>
....
</Users>
usersNode = document.createElement("Users");
userNode = document.createElement("User");
nameNode = document.createElement("name");
nameNode.innerText = "testuser";
adminNode = document.createElement("admin");
adminNode.innerText = "true";
userNode.appendChild(nameNode);
userNode.appendChild(adminNode);
usersNode.appendChild(userNode);
userNode = document.createElement("User");
nameNode = document.createElement("name");
nameNode.innerText = "sof_user";
adminNode = document.createElement("admin");
adminNode.innerText = "false";
userNode.appendChild(nameNode);
userNode.appendChild(adminNode);
usersNode.appendChild(userNode);
console.log(usersNode.innerHTML);
测试用户
真的
软件用户
假的
....
您应该能够像这样构建XML:
<Users>
<User>
<name>testuser</name>
<admin>true</admin>
</User>
<User>
<name>sof_user</name>
<admin>false</admin>
</User>
....
</Users>
usersNode = document.createElement("Users");
userNode = document.createElement("User");
nameNode = document.createElement("name");
nameNode.innerText = "testuser";
adminNode = document.createElement("admin");
adminNode.innerText = "true";
userNode.appendChild(nameNode);
userNode.appendChild(adminNode);
usersNode.appendChild(userNode);
userNode = document.createElement("User");
nameNode = document.createElement("name");
nameNode.innerText = "sof_user";
adminNode = document.createElement("admin");
adminNode.innerText = "false";
userNode.appendChild(nameNode);
userNode.appendChild(adminNode);
usersNode.appendChild(userNode);
console.log(usersNode.innerHTML);
我想这应该能满足您的需要。您是在问如何从浏览器将文件保存到本地硬盘驱动器?@DanField是的。以及如何添加新标记如何将这些节点添加到现有的XML文件(users.XML)?替换
usersNode=document.createElement(“users”)无论你的根节点是什么,你能用JS小提琴或类似的东西来证明你的问题吗?