Aber die Klassen stehen doch in der Datei Beispiel.pas (so wie sie von der Datenbindung erzeugt wurden)?
Und wenn ich ein Element vom Typ Listenelement hinzufügen will, klappt das ja auch mit den erzeugten Klassen. Nur bei den abgeleiteten Klassen wie Element1 klappt das nicht.
Oder wie teilt man dem
XML-
DOM die Klassen explizit mit?
Ich habe mir TXMLNodeCollectionClass und TXMLNodeClass angeschaut, aber ich werde daraus nicht so recht schlau.
Aber wenn ich das richtig verstehe, dann erlaubt TXMLNodeCollectionClass nur Elemente von genau dem Typ, für den sie definiert wurde (also ListenElement), aber keine Elemente von abgeleiteten Typen (wie Element1).
Wenn ich (händisch beim Debuggen) dem AddChild den richtigen Knotentyp (Element1) gebe, dann wird dieser Knoten zwar erzeugt, aber beim Einfügen in die NodeCollection (in InsertInColletion) wird dann versucht, eine neue Collection zu erzeugen, da nicht erkannt wird, dass der Typ Element1 ein von Listenelement abgeleiteter Typ ist (deshalb liefert IsCollectionItem(Node) false).
Ich will aber ja erreichen, dass alle Elemente (egal ob vom Typ Element1, Element2 oder Element3) in die gleiche NodeCollection eingefügt werden (also in IXMLBasis).