有这么一个XML文件 a.xml,内容如下:
<?xml version="1.0" encoding="utf-8" ?>
<Strategy>
<ReaderLevel>
<RoadA>
<CloseReader>
<YM>
<Reader>
<Name>Reader1</Name>
<Control>12</Control>
</Reader>
<Reader>
<Name>Reader2</Name>
<Control>12</Control>
</Reader>
<Reader>
<Name>Reader3</Name>
<Control>12</Control>
</Reader>
</YM>
</CloseReader>
</RoadA>
</ReaderLevel>
</Strategy>问题如下:
选择处YM下所有的子节点,组合成如下字符串
Reader1=12
Reader2=12
Reader3=12
请问该如何操作,谢谢!
注明:只能使用Delphi自带的TXmlDocument!
<?xml version="1.0" encoding="utf-8" ?>
<Strategy>
<ReaderLevel>
<RoadA>
<CloseReader>
<YM>
<Reader>
<Name>Reader1</Name>
<Control>12</Control>
</Reader>
<Reader>
<Name>Reader2</Name>
<Control>12</Control>
</Reader>
<Reader>
<Name>Reader3</Name>
<Control>12</Control>
</Reader>
</YM>
</CloseReader>
</RoadA>
</ReaderLevel>
</Strategy>问题如下:
选择处YM下所有的子节点,组合成如下字符串
Reader1=12
Reader2=12
Reader3=12
请问该如何操作,谢谢!
注明:只能使用Delphi自带的TXmlDocument!
XMLDoc, XMLIntf;
procedure TForm1.Button1Click(Sender: TObject);
var
VxmlDoc: IXMLDocument;
VxmlNode: IXMLNode;
begin
Memo1.Lines.Clear;
VxmlDoc := TXMLDocument.Create('temp.xml');
try
VxmlDoc.Active := True;
VxmlNode := VxmlDoc.DocumentElement.ChildNodes['ReaderLevel'].ChildNodes['RoadA'].ChildNodes['CloseReader'].ChildNodes['YM'].ChildNodes.First;
while vxmlnode <> nil do
begin
Memo1.Lines.Add(Format('%s=%s', [VxmlNode.ChildNodes['Name'].NodeValue, VxmlNode.ChildNodes['Control'].NodeValue]));
VxmlNode := VxmlNode.NextSibling;
end;
finally
VxmlDoc := nil;
end;
end;