2014-09-26 96 views
0

我想操作一個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) 

該文檔有點稀疏,我一直在敲我的頭我認爲相當簡單的東西,幾個小時 - 任何意見將不勝感激。

最佳, 菲爾

回答

1

應將呼叫 etree.getroot().remove(myitem);

+0

對不起已故的反應......就在看到這 - 這是正確的! – 2016-02-10 15:27:22