无法从Javascript中删除文档中的一组节点

时间:2013-02-28 19:24:24

标签: javascript html xml rss

我正在尝试从网页上的rss文档中删除节点。

我想从:

<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>

 <title></title>
 <link></link>
 <description></description>

 <item>
  <title>53w5</title>
  <link>est</link>
  <description></description>      
 </item>

</channel>
</rss>

要:

<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
 <channel>

 <title></title>
 <link></link>
 <description></description>

</channel>
</rss>

只是删除该项目(及其所有孩子)。

这是我加载XML的功能:

function loadXMLDoc(dname) {

        if (window.XMLHttpRequest) {
            xhttp = new XMLHttpRequest();
        }
        else {
            xhttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
        xhttp.open("GET", dname, false);
        xhttp.send("");
        return xhttp.responseXML;
    }

这是我必须删除块的代码:

    xmlDoc = loadXMLDoc("rssFeed.xml");        
    it = xmlDoc.getElementsByTagName("item");        
    it.parentNode.removeChild(it);

我总是在Chrome中运行它时出现错误“Uncaught TypeError:无法调用方法'removeChild'的undefined”。我的xml文件正好加载,因为我可以在重新获得后在网络中看到它。

非常感谢帮助。

安托

1 个答案:

答案 0 :(得分:0)

var it = xmlDoc.getElementsByTagName("item");

for (var i = it.length; i--; )
    it[i].parentNode.removeChild(it[i]);