请DELPHI 大哥帮忙
我想通过TXMLDocument 插入指定位置节点 假设
<g name ="1"--name是唯一标示></g>
<text name="2"></text>
<text1 name="3"></text1>
我现在想把2个Text文本插入<g>节点。 动态的指定插入拜求各位大哥来点实例
我想通过TXMLDocument 插入指定位置节点 假设
<g name ="1"--name是唯一标示></g>
<text name="2"></text>
<text1 name="3"></text1>
我现在想把2个Text文本插入<g>节点。 动态的指定插入拜求各位大哥来点实例
var
xmlDoc:TXMLDocument;
iNode,tNode,fNode:IXMLNode;
begin
xmlDoc:=TXMLDocument.Create(nil);
try
xmlDoc.Active:=True;
iNode:=xmlDoc.AddChild('p');
iNode.Attributes['Name']:='1';
tNode:=iNode.AddChild('text');
tNode.Attributes['Name']:='2';
tNode:=iNode.AddChild('text1');
tNode.Attributes['Name']:='3';
// find a xmlnode by name
fNode:=xmlDoc.ChildNodes['p'];
tNode:=fNode.AddChild('text2');
tNode.Attributes['Name']:='4';
xmlDoc.SaveToFile('d:\txml.xml');
finally
xmldoc:=nil;
end;end;参考着试一下,能不能达到你要的效果
var
i: integer;
doc: TXMLDocument;
begin
doc := TXMLDocument.Create(Self);
doc.Xml.Text := xxxxxxxxxxxxxx; //原始XML
doc.Active := True; //遍历,找目标节点
for i := 0 to doc.DocumentElement.ChildNodes.Count - 1 do
begin
n := doc.DocumentElement.ChildNodes[i]; if (n.NodeName = 'g') and (n.Attributes['name'] = 1)
then
begin
//添加节点
n.AddChild('a');
n.AddChild('b');
n.AddChild('c');
n.AddChild('d'); break;
end;
end; doc.Free;
end;
n: IXMLNode;
delphi与xml,可以参考下。