读取XML文件错误。为什么无法正确获取子节点数呢?

lovefox_zoe 2009-09-03 07:14:44

<?xml version="1.0" encoding="utf-8" ?>
<Configurations>
<display Text="本项配置画面路径">
<FindPath Text="路径">f:\1</FindPath>
<OTList>
<Mission>WP5001</Mission>
<Mission>WP5002</Mission>
<Mission>WP5003</Mission>
</OTList>
</display>
<env Text="本项配置环境变量">
<FindPath Text="111">D:\Projects</FindPath>
<OTList>
<Mission>\\WP5</Mission>
<Mission>\\WP52</Mission>
<Mission>WP5003</Mission>
</OTList>
</env>
</Configurations>



上述配置文件,我用下面的程序读写,无法正确获取OTList节点下所有的子节点信息哦。只获取了一个,为什么?
cboxOTList是一个combox,下拉选择一个选项,从xml文件里面读取相应顺序节点的信息,然后将OTLIST下的子节点的信息,加入到列表里面。


procedure TFFileTrans.cboxFindPathClick(Sender: TObject);
var
RootNode:IXMLNode;
ParentNode:IXMLNode;
MissionName:string;
i:integer;
begin
cboxOTList.Items.clear;
try
XMLDoc.LoadFromFile('Cnfg.xml');
RootNode:=XMLDoc.DocumentElement;
ParentNode:=RootNode.ChildNodes[cboxFindPath.ItemIndex].ChildNodes['OTList'].ChildNodes.First;
for i := 0 to ParentNode.ChildNodes.Count - 1 do
begin
MissionName:=ParentNode.ChildNodes[i].Text;
cboxOTList.Items.Add( MissionName );
cboxOTList.Checked[i]:=true;
end;
except
MessageDlg('找不到Cnfg.xml文件,请检查系统' ,mtError, [mbOK],0);
end;
end;
...全文
235 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
lovefox_zoe 2009-09-03
  • 打赏
  • 举报
回复
明白了。修改这里

ParentNode:=RootNode.ChildNodes[cboxFindPath.ItemIndex].ChildNodes['OTList'];
lovefox_zoe 2009-09-03
  • 打赏
  • 举报
回复
那要修改怎么修改呢?
sparklerl 2009-09-03
  • 打赏
  • 举报
回复
层次关系深了一层

ParentNode:=RootNode.ChildNodes[cboxFindPath.ItemIndex].ChildNodes['OTList'].ChildNodes.First

你这样ParentNode都指向 <Mission>了

count就是1了

5,392

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧