请问用schema验证xml为什么总是不行?下面代码有什么问题急(200)

  • 主题发起人 主题发起人 dongh
  • 开始时间 开始时间
D

dongh

Unregistered / Unconfirmed
GUEST, unregistred user!
procedure TFrmMain.btnCheckClick(Sender: TObject);var namespace, xsdname, xmlname:string;begin
if Trim(MemXML.Text)<>'' then
begin
MemResult.Clear;
namespace := '';
xsdname := 'D:/xml检测/Templet/ylcs.xsd';
xmlobj.DefaultInterface.async := False;
xmlobj.DefaultInterface.validateOnParse := False;
xmlsch.DefaultInterface.add(namespace,xsdname);
xmlobj.DefaultInterface.schemas := xmlsch.DefaultInterface;
xmlobj.DefaultInterface.resolveExternals:=True;
xmlobj.DefaultInterface.loadXML(MemXML.Text);
if xmlobj.DefaultInterface.parseError.errorCode = 0 then
begin
MemResult.Lines.Text := '>>检测结果:XML文档格式正确';
end else
begin
MemResult.Lines.add('>>检测结果:XML文档格式错误');
MemResult.Lines.add('>>错误位置:第 '+IntToStr(xmlobj.DefaultInterface.parseError.line)+' 行 第 ' +IntToStr(xmlobj.DefaultInterface.parseError.linepos)+' 列');
MemResult.Lines.add('>>错误内容:'+xmlobj.DefaultInterface.parseError.srcText);
MemResult.Lines.add('>>错误原因:'+xmlobj.DefaultInterface.parseError.reason);
end;

end else
ShowMsg('请选择一个要检测的文件!');end;
 
后退
顶部