使用node-elementtree(nodejs)从xml文件中删除一个元素

问题描述:

我想操作一个xml文件,坐在利用nodejs应用程序中的node-elementtree的服务器上......我没有写入文件的问题,将它保存在服务器上,但对于如何删除元素感到困惑不解。使用node-elementtree(nodejs)从xml文件中删除一个元素

我读的文件中,并成功定位,我想从文档删除元素保存前:

fs.readFile(coursePath, function(err, data){ 
    var XML = et.XML; 
    var ElementTree = et.ElementTree; 
    var element = et.Element; 
    var subElement = et.SubElement; 

    var _data, etree; 

    _data = data.toString(); 
    etree = et.parse(_data); 
    var stringID = content.id.toString(); 
    console.log(etree.find('./item/[@id="'+stringID+'"]')); 
    var myitem = etree.find('./item/[@id="'+stringID+'"]');  

但是,当我尝试将其删除:

etree.remove(myitem); 

我收到以下错误:

[TypeError: undefined is not a function] 
TypeError: undefined is not a function 
    at /Users/xxxxxxx/Sites/xxxxxx/bin/server/xxxxxxx-socket-handler.js:915:19 
    at fs.js:291:14 
    at Object.oncomplete (fs.js:97:15) 

该文档有点稀疏,我一直在敲我的头我认为相当简单的东西,几个小时 - 任何意见将不胜感激。

最佳, 菲尔

应将呼叫 etree.getroot().remove(myitem);

+0

对不起已故的反应......就在看到这 - 这是正确的! – 2016-02-10 15:27:22