在JavaScript中从DOM创建格式正确的XML

在JavaScript中从DOM创建格式正确的XML,javascript,jquery,xml,serialization,Javascript,Jquery,Xml,Serialization,我在获取DOM文档(或其中的节点)并将其序列化为正确格式的xml时遇到问题。我需要这样做,因为我将上传部分文档的工具,以便只理解XML,而不理解HTML及其不正确关闭的元素。作为一个例子,我目前正在抓取(在许多例子中)显示我的img元素没有关闭的问题 例如,如果我在chromes控制台中执行以下操作: $('<div>').append($('body ul:first li:last')).html() 我将得到相同的、格式不正确的XML: <li><a hre

我在获取DOM文档(或其中的节点)并将其序列化为正确格式的xml时遇到问题。我需要这样做,因为我将上传部分文档的工具,以便只理解XML,而不理解HTML及其不正确关闭的元素。作为一个例子,我目前正在抓取(在许多例子中)显示我的img元素没有关闭的问题

例如,如果我在chromes控制台中执行以下操作:

$('<div>').append($('body ul:first li:last')).html()
我将得到相同的、格式不正确的XML:

<li><a href="http://studentlund.se/feed/"><img src="http://studentlund.se/wordpress/wp-content/themes/studentlund/pics/rss.png" alt="RSS"></a></li>

  • 我所希望的就是能够以正确格式的XML字符串转储节点的原始DOM,以便我可以将其与我的XML工具一起使用,这可能吗?

    尝试创建一个XML文档,然后将其序列化为字符串,如下所示:

    n = $('body ul:first li:last').get(0);
    var doc = document.implementation.createDocument('', '', null);
    doc.appendChild(n);
    var xml = new XMLSerializer().serializeToString(doc);
    

    尝试创建XML文档,然后将其序列化为字符串,如下所示:

    n = $('body ul:first li:last').get(0);
    var doc = document.implementation.createDocument('', '', null);
    doc.appendChild(n);
    var xml = new XMLSerializer().serializeToString(doc);
    
    n = $('body ul:first li:last').get(0);
    var doc = document.implementation.createDocument('', '', null);
    doc.appendChild(n);
    var xml = new XMLSerializer().serializeToString(doc);