我有一个网站,用户可以在表格中输入一些信息。通过点击一个按钮,这些信息应该存储在XML文档中并通过AJAX发送。在jQuery中创建和发送XML文档
我已经试过这个来创建一个XML文档,但它没有解决。
var xmlDoc = '<?xml version="1.0" encoding="iso-8859-1"?>';
xmlDoc.append('<customer></customer>');
如何创建XML文档并追加更多节点并设置属性?
我有一个网站,用户可以在表格中输入一些信息。通过点击一个按钮,这些信息应该存储在XML文档中并通过AJAX发送。在jQuery中创建和发送XML文档
我已经试过这个来创建一个XML文档,但它没有解决。
var xmlDoc = '<?xml version="1.0" encoding="iso-8859-1"?>';
xmlDoc.append('<customer></customer>');
如何创建XML文档并追加更多节点并设置属性?
你不能在字符串上使用jQuery append
方法,它会抛出js错误。
你可以尝试这样的事情。
var xmlDocument = $.parseXML("<root/>");
var foo = xmlDocument.createElement('foo');
foo.appendChild(document.createTextNode('bar'));
xmlDocument.documentElement.appendChild(foo);
另一种方法是创建页面上可用的基于表格信息的XML字符串,然后用$.parseXML()
方法来创建XML文档。
'var xmlDocument = $ .parseXML(“
@Rocket - 这将解析XML字符串,然后我们可以使用jQuery apis来遍历它。但OP正在创建'Xml'文件。 – ShankarSangoli 2012-02-29 15:15:20
它实际上返回一个'XMLDocument'。 http://api.jquery.com/jQuery.parseXML/ – 2012-02-29 15:17:38
jQuery不处理这个给你吗?
var root = $('<ROOT></ROOT>');
root.append("<customer/>")
var customer = root.children().eq(0);
console.log(customer);
console.log(root.html());
输出:
[customer]
<customer></customer>
返回一个jQuery对象,而不是XMLDocument,不知道这里的差异是否重要 – 2012-02-29 15:18:08
如果XML是通过Ajax发送的,那么它会是无论如何都是以字符串形式发送的? – 2012-02-29 15:19:25
没错,它是w应该作为字符串发送(而不是XMLDocument)。 – 2012-02-29 15:26:03
首先你需要创建一个XMLDocument对象......不是字符串。 – thescientist 2012-02-29 15:07:18