现在在做一个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[i]);//计算错误行之前的字符个数
      startpos:=length(strs.Text);
      strs.free;
      Memo1.SelStart:=startpos;//选中错误行
      Memo1.SelLength:=Length(Memo1.Lines[lineindex-1]);
      e.CleanupInstance;
     end;
end;
哪位大侠给分析分析