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

时间:2014-09-26 02:57:55

标签: javascript xml node.js elementtree

我正在尝试使用nodejs应用程序中的node-elementtree操作位于服务器上的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 个答案:

答案 0 :(得分:1)

电话应该是 etree.getroot().remove(myitem);