使用jquery加载xml文件,编辑它,然后用php再次保存到服务器
我希望能够从我的服务器加载一个xml文件。 使用jQuery编辑xml中的节点,然后使用php将此更改与xml文件的其余部分一起保存回服务器。 有人知道怎么做吗? 我有更改xml节点的代码,可以在我的控制台中看到它。 但无法将代码返回给我的服务器。
谢谢!
$.post('saveXml.php', { xml: $(data)}, function(data){alert('data loaded');});
如果我是console.log(数据)我得到#document和所有xml节点。 我也在我的服务器上获取了data.xml文件,但它是空白的。
从来没有这样做过但在这里找到了一些信息: 用xQuery将xml转换为字符串我已经测试了以下内容,它将修改原始的xml并作为$_POST['xml']
收到的字符串发送回服务器
$(function() { $.get('test.xml', function(xml) { var $xml = $(xml) /* change all the author names in original xml*/ $xml.find('author').each(function() { $(this).text('New Author Name'); }) var xmlString=jQ_xmlDocToString($xml) /* send modified xml string to server*/ $.post('updatexml.php', {xml:xmlString },function (response){ console.log(response) /* using text dataType to avoid serializing xml returned from `echo $_post['xml'];` in php*/ }'text') }, 'xml') }); function jQ_xmlDocToString($xml) { /* unwrap xml document from jQuery*/ var doc = $xml[0]; var string; /* for IE*/ if(window.ActiveXObject) { string = doc.xml; } // code for Mozilla, Firefox, Opera, etc. else { string = (new XMLSerializer()).serializeToString(doc); } return string; }
演示: http : //jsfiddle.net/54L5g/