我正在尝试使用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)
文档有点稀疏,而且我一直在用我认为相当简单的东西敲打几个小时 - 任何建议都会受到高度赞赏。
最佳, 菲尔
答案 0 :(得分:1)
电话应该是
etree.getroot().remove(myitem);