0

我正在尝试从网页上的 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: Cannot call method 'removeChild' of undefined”。我的 xml 文件正确加载,因为我可以在请求后在网络中看到它。

帮助将不胜感激。

安托万

4

1 回答 1

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

for (var i = it.length; i--; )
    it[i].parentNode.removeChild(it[i]);
于 2013-02-28T19:38:23.447 回答