XML Auslesen mit System::XML
-
Hallo,
Ich bin gerade dabei eine kleine Klasse zu kreiren, die ein paar Informationen aus einem XML File auslesen soll.
wenn ich den folgenden aufbau hab ist das kein Problem:<Node> <Attrib>Value</Attrib> </Node>
Da ich da ja einfach über xml_Node->InnerText die Value erhalte.
Leider ist teilweise aber die Info in dem XML File wie folgt abgelegt:
<Node> <Attrib Subattrib=Value> <.... weitere unterknoten ...> </Attrib> </Node>
Ich habe leider noch nicht herausgefunden wie ich jetzt an die Information komme, die unter "Subattrib" abgespeichert ist. Kann mir da jemand helfen?
Auf die Struktur des XML Files selber hab ich leider keinen Einfluss, da das aus einer anderen Abteilung kommt.
Danke, Lorgoth
-
Schonmal damit versucht?
node.Attributes["Subattrib"].InnerText
-
Hmm klingt gut, ich stosse nur momentan auch eine ganze Menge weiterer Probleme mit XML.
Das Problem ist, dass das XML Parsing nicht nur mit den .Net Compilern funktionieren soll, sondern auch mit anderen.
#pragma once #using <System.Xml.dll> using namespace System::Xml; class CConfigXML { public: CConfigXML(void); ~CConfigXML(void); private: // Global Variables XmlDocument m_xml_SettingFile; };
wenn ich das ganze so aufziehen will, bekomme ich den Fehler:
"error C3149: 'System::Xml::XmlDocument': Ungültige Verwendung des verwalteten Typs: 'System::Xml::XmlDocument'; haben Sie eine '*' vergessen?"
Und wenn ich dann daraus einen Pointer mache (was mir zwar etwas widerstrebt, aber ich habs halt ausprobiert) bekomme ich folgende Fehlermeldung:
"error C3265: Ein verwalteter 'm_xml_SettingFile' kann nicht in einem nicht verwalteten 'CConfigXML' deklariert werden."Nach etwas recherce hab ich herausgefunden, dass ich diesen Fehler wiederum nur wegbekomme, wenn ich die Anweisung: "#using <mscorlib.dll>" die nur mit der /clr (also dem .Net) funktioniert.
Hat irgendjemand schon Erfahrungen mit XML und C/C++ sammeln können? Irgendwie trete ich andauernd auf der Stelle.