Tôi đang cố gắng xác thực tệp XML dựa trên tham chiếu của lược đồ đó. (Sử dụng Delphi và MSXML2_TLB.) The (phần liên quan của) mã trông giống như sau:xác thực lược đồ với msxml trong delphi
procedure TfrmMain.ValidateXMLFile;
var
xml: IXMLDOMDocument2;
err: IXMLDOMParseError;
schemas: IXMLDOMSchemaCollection;
begin
xml := ComsDOMDocument.Create;
if xml.load('Data/file.xml') then
begin
schemas := xml.namespaces;
if schemas.length > 0 then
begin
xml.schemas := schemas;
err := xml.validate;
end;
end;
end;
này có kết quả là bộ nhớ cache được nạp (schemas.length> 0), nhưng sau đó các nhiệm vụ tiếp theo đặt ra một ngoại lệ: "chỉ có thể sử dụng XMLSchemaCache-schemacollections."
Tôi nên làm như thế nào?
Cảm ơn, Miel.
làm thế nào để bạn xác định xmlDoc? – neves
xin lỗi, tôi nghĩ rằng nó phải là xml, chứ không phải xmlDoc. Chỉ để chắc chắn tôi sẽ kiểm tra trước khi tôi chỉnh sửa. – Miel