Einzelnen Beitrag anzeigen

amigage

Registriert seit: 11. Nov 2005
Ort: Leipzig
272 Beiträge
 
Delphi 11 Alexandria
 
#1

XMLDocument zur Laufzeit -> Exception

  Alt 21. Mai 2015, 16:12
Hallo,

ich habe ein Problem beim Einlesen vom XML Daten aus einem Stream.
Lege ich die XMLDocument Komponente auf eine Form ("XMLDoc") lassen sich die Inhalte problemlos auslesen:

Delphi-Quellcode:
function LoadWebData(xmlResponse : TMemoryStream) : boolean;
var
  StartItemNode: IXMLNode;
begin
  Result := true;

  try
    XMLDoc.LoadFromStream(xmlResponse);
  except;
    Result := false;
    exit;
  end;
  XMLDoc.Active := True;

  try
    StartItemNode := XMLDoc.DocumentElement.ChildNodes.FindNode('response') ;
  except
  end;
end;
Möchte ich die Funktionalität jedoch auslagern und das XMLDocument zu Laufzeit erzeugen, dann wird beim Abfragen der Struktur eine Exception ausgeworfen.

Delphi-Quellcode:
function LoadWebData(xmlResponse : TMemoryStream) : boolean;
var
  XMLDoc : TXMLDocument;
  StartItemNode: IXMLNode;
begin
  Result := true;

  XMLDoc := TXMLDocument.Create(NIL);
  try
    XMLDoc.DOMVendor := DOMVendors.Find('Omni XML');
    XMLDoc.Options := [doAttrNull,doAutoPrefix,doNamespaceDecl];

    try
      XMLDoc.LoadFromStream(xmlResponse);
    except;
      Result := false;
      exit;
    end;
    XMLDoc.Active := True;

    try
      StartItemNode := XMLDoc.DocumentElement.ChildNodes.FindNode('response') ; // <= Exception
    except
    end;
// ....
  finally
    XMLDoc.Active := false;
    XMLDoc := NIL;
  end;
end;
Was mache ich hier falsch? Habe ich vergessen, eine Eigenschaft zu setzen?

Vielen Dank, für jeden Hinweis.
  Mit Zitat antworten Zitat