1,是不是不能在XML文件后面追加记录。必须先全部读出来加上要增加的记录,然后再写到文件中去呢?!
2,怎么删除一个不定的结点及内容。最好付源代码!谢!
2,怎么删除一个不定的结点及内容。最好付源代码!谢!
解决方案 »
- UniDac 4.6.12 Xe2 多表更新出现错误
- EVariantTypeCaseError 这个异常错误谁知道?该怎么改?
- 大家请进来侃侃这样的报表用fastreport怎么建立?
- 两个Table.post的异常?
- 高手入。。。。可以给3000分
- 在C++中实现与,或,左移位,右移位的操作都是对byte的,但在delphi中规定的参数只能是integer,如果要对delphi中的char实现这些操作该如
- 扩展TreeView控件功能的问题,编写控件高手请进
- 关于ADOQuery的查询语句,在线等待!
- Delphi中关于TStringGrid控件问题
- 难:怎么给Richedit编辑器加上行号功能?
- 请问如何连接oracle数据库?
- 抱住一棵树
这是读: entpcode:string; xpnode:IxmldomNode; xnode:ixmldomnode; anode:tTreenode;begin entpcode:=node.Stringdata; xpnode:=EntpDoc.documentElement.selectSingleNode('//entp[@entpcode="'+entpcode+'"]'); if (xpnode<>nil)and(xpnode.hasChildNodes)then begin xnode:=xpnode.firstChild; anode:=treeview.Items.AddChild(node,xnode.attributes.item[1].text); anode.StringData:=xnode.attributes.item[0].text; anode.HasChildren:=true; while xnode.Get_nextSibling<>nil do begin xnode:=xnode.nextSibling; anode:=treeview.Items.AddChild(node,xnode.attributes.item[1].text);anode.StringData:=xnode.attributes.item[0].text; end; end;这是写:var xElem:IxmlDomElement; xNode:IxmlDomNode; ResultStr:string; Node:tfcTreenode;begin xNode:=entpdoc.documentElement.selectSingleNode('//entp[@entpcode="'+fcTV_Entp.Selected.StringData+'"]'); xElem:=entpdoc.createElement('entp'); xElem.setAttribute('entpcode',E_eID.text); xElem.setAttribute('entpname',E_eName.text); xElem.setAttribute('entplevel',''); xElem.setAttribute('xzqh',E_Xzqh.Text); xElem.setAttribute('entptype',copy(CBB_EntpType.Text,1,1)); //showmessage(xDoc.documentElement.xml); xnode.parentnode.insertBefore(xElem,xNode); //entpdoc.documentElement.insertBefore(xElem,xNode); entpdoc.save(Extractfilepath(application.exename)+'\res\postcard.sys'); Node:=fcTV_Entp.Selected; Node:=fcTV_Entp.Items.Insert(Node,E_eName.text);这是修改:var ResultStr:string; xNode:IxmlDomNode; xdoc:IxmlDomDocument;begin Fselnode:=fcTV_Entp.Selected; xNode:=entpdoc.documentElement.selectSingleNode('//entp[@entpcode="'+fcTV_Entp.Selected.StringData+'"]'); xNode.attributes.item[0].text:=E_eid.Text; xNode.attributes.item[1].text:=E_eName.Text; xNode.attributes.item[3].text:=E_xzqh.Text; xNode.attributes.item[4].text:=copy(CBB_EntpType.Text,1,1); entpdoc.save(Extractfilepath(application.exename)+'\res\postcard.sys'); FselNode.Text:=e_ename.Text;这是删除: 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');