Nachkomme von RapidXml
-
Hallo alle zusammen,
ich habe mich grad mit RadipXml angefreundet, da es recht einfach und übersichtich ist. Nun habe ich folgende XML-Struktur:
<Ebene1> <Ebene2> <UID>ID1</UID> </Ebene2> <Ebene2> <UID>ID2</UID> </Ebene2> </Ebene1>Es gibt also Elemente mit dem gleichen Tag, die sich anhand des Unterelementes UID eindeutig identifizieren lassen. Ich würde also gern xml_node von RadipXml um eine Methode myxml_node::firstNodeByUID() erweitern. Soweit kein Problem. Jetzt möchte ich aber gleichzeitig xml_document um eine Methode erweitern, um direkt Dateien zu parsen: myxml_document::parseFile().
Beides für sich ist ja kein Problem. Allerdings erbt xml_document von xml_node. Wie erreiche dann aber, dass myxml_document von xml_document erbt, ich aber trotzdem auch meine myxml_node::firstNodeByUId bekomme?
Auf folgendes bin ich selbst gekommen (Syntax vereinfacht):class myxml_node : public xml_node {}; class myxml_document : public xml_document, public myxml_node {};Nur befürchte ich, wird damit folgendes nicht funktionieren, da die Member-Funktionen von xml_document natürlich xml_node verwenden und nicht myxml_node:
myxml_document doc; doc.first_node()->firstNodeByUId();Kann ich das überhaupt über Veerbung lösen, oder müsste ich die gesamte xml_document Klasse neu schreiben?
Heimchen