Hallo noch einmal!
Ich habe noch eine Frage bzgl. Lesen mit
SAX.
In der Demo gibt es ja die Funktion:
procedure TDemoClass.Deserialize(cnth: ISAXContentHandler);
Ich habe mir einige Delphi-
SAX Beispiele angesehen und da wurde immer das Interface ISAXContentHandler selbst implementiert. Mit den Funktionen des Interfaces wird man praktisch wie bei ganz normalen Delphi-Events informiert, was sich in der
XML-Datei befindet.
Wäre es in diesem Fall nicht sinnvoller, wenn die Funktion einen ISAXXMLReader als Parameter nimmt und die zu deserialisierende Klasse ISAXContentHandler selbst implementiert?
Noch praktischer wäre es für mich, wenn man mit
MSXML so etwas Ähnliches machen könnte wie mit dem XmlReader in .net:
Dort kann ich nämlich das Pull-Modell verwenden, sodass ich nicht auf Events reagieren muss, sondern ähnlich wie aus einem FileStream lesen kann:
Code:
while (MyXmlReader.Read())
{
string mystring = MyXmlReader.ReadElementString();
}
Oder noch allgemeiner gefragt: Wie würdest du/würdet ihr das Herauslesen mit
SAX organisieren?
Vielen Dank,
Andreas
Andreas N.