XML如何在XML的Tree中搜尋及加入Nodes |
答題得分者是:ccchen
|
27577
一般會員 發表:4 回覆:1 積分:1 註冊:2004-03-12 發送簡訊給我 |
|
ccchen
版主 發表:61 回覆:940 積分:1394 註冊:2002-04-15 發送簡訊給我 |
引言: 請教諸位高手 我該如何在較複雜的XML Tree中找到我要的Node,於,並於該下層加入子節點等資料 (不一定在哪一層及跳層的情況)? 謝謝!可以循XML Tree以遞回方式找, 以下是依attribute之值來找到Node,給你做為參考 function FindbyAttValue(snd:IXMLNode;ndname,attName:string;attvalue:string):IXMLNode; Var I:integer; s:string; begin Result:=nil; For I:=0 to snd.ChildNodes.Count -1 do If comparetext(ndname,snd.ChildNodes[I].NodeName)=0 then begin s:=snd.ChildNodes[I].Attributes[attname]; If Comparetext(attvalue,s)=0 then begin Result:=snd.ChildNodes[I]; break; end; end; If Result=nil then If snd.ChildNodes.Count > 0 then For I:=0 to snd.ChildNodes.Count -1 do begin Result:=FindbyAttValue(snd.ChildNodes[I], ndname,attname,attvalue); If Result <> nil then break; end; end;snd為開始找之結點,若要由Root起找, 可用XMLDocument.DocumentElement 例如以下找, chapterno="0"之Chapter Element var node:IXMLNode; begin node:=FindNodeByValue(XMLDocument.DocumentElement, 'Chapter','chapterno','0'); node.addchild('Section');//加入TagName為"Section"之child node end;這些應該都可以在Help中找到 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |