请教一个问题,关于xml编辑(50分)

  • 主题发起人 主题发起人 yxzyxz
  • 开始时间 开始时间
Y

yxzyxz

Unregistered / Unconfirmed
GUEST, unregistred user!
现在在做一个xml文件的编辑器,有一个问题,xml的解析,如果不用msxml,而用delphi6中的
xmldocument控件,我发现特别困难,解析xml文件,不能直接得到错误的行数,只能在抛出
的异常信息里找,而且再次执行这段代码异常信息一直是:line;0,
我的代码如下:
try
begin
XMLDocument1.FileName:=OpenDialog.FileName;//栽入xml文件
Memo1.Lines.loadFromFile(OpenDialog.FileName);//在编辑窗口显示
XMLDocument1.Active:=true;//激活,XMLDocument将解析文件,如果xml不和语法
end; //就抛出异常
except
on e:Exception do
begin
Memo1.Lines.Add(e.Message);
strs:=TstringList.Create;
strs.Text:=e.Message;
lineindex:=finderrorlines(strs);//从异常信息里找到错误行的行数
strs.Clear;
for i:=0 to lineindex-2 do
strs.Add(Memo1.Lines);//计算错误行之前的字符个数
startpos:=length(strs.Text);
strs.free;
Memo1.SelStart:=startpos;//选中错误行
Memo1.SelLength:=Length(Memo1.Lines[lineindex-1]);
e.CleanupInstance;
end;
end;
哪位大侠给分析分析
 
该控件可能有 bug ,而且失败后重调正确的,结果是空的。
这几年XML 改得太快了。
 
是呀,我也遇到这个问题。
有没有自己编写的分析XML的PAS?
 
接受答案了.
 
安装delphi升级包就可以了,bug!
 
后退
顶部