这是删除:
xNode:=entpdoc.documentElement.selectSingleNode('//entp[@entpcode="'+fcTV_Entp.Selected.StringData+'"]');
xParentNode:=xNode.parentNode;
if xNode.hasChildNodes then
begin
if messagedlg('要删除节点:"'+fcTV_Entp.Selected.Text+'"及其子节点吗?',mtinformation,[mbyes,mbno],0)=mryes then
begin
xParentNode.removeChild(xnode);
fcTV_Entp.Selected.Delete;
end
else exit;
end
else if messagedlg('要删除节点:"'+fcTV_Entp.Selected.Text+'"吗?',mtinformation,[mbyes,mbno],0)=mryes then
begin
xParentNode.removeChild(xnode);
fcTV_Entp.Selected.Delete;
end
else exit;
entpdoc.save(Extractfilepath(application.exename)+'\res\postcard.sys');
以下是我做过的例子
var
xNode:IxmlDomNode;
xNodelist:IxmlDomNodelist;
Doc:IxmlDomDocument;
DOMDocEntp: TDOMDocument30;
fc_entp:ttreeview;
anode:ttreenode;
EntpDoc:=DomdocEntp.DefaultInterface;
EntpDoc.async:=False;
Entpdoc.load(Extractfilepath(application.exename)+'\res\file.sys');
try
xNode:=entpdoc.documentElement.selectSingleNode('/entp');
except
messagedlg('未发现单位列表!',mterror,[mbyes],0);
exit;
end;
if xnode<>nil then
begin
anode:=fc_entp.Items.Add(nil,xnode.Attributes.item[1].text);