XmlReader und der Fehler mit dem ich nichts anfangen kann
-
Hallo Leute,
wieder mal ein neuer im Board und wieder einer mit ner Frage.
Was mache ich bei der Zuweisunginhalt = xr->Value;
falsch ?
Code ist unten.
Gibt es jemanden mit einer Antwort.....
Ich will den Text ja nicht direkt in die Console hauen....muss doch auch in nen string gehen.Folgende Fehlermeldung erscheint.
error C2679: Binärer Operator '=': Es konnte kein Operator gefunden werden, der einen rechtsseitigen Operanden vom Typ 'System::String ^' akzeptiert (oder keine geeignete Konvertierung möglich)
Leider kann ich damit wenig anfangen....denn der Rückgabewert sollte nen string sein.
Vielen Dank nur schon fürs lesen und so long DerAndere
string xmldateilesen(string dateiname) { string inhalt; XmlReader^ xr = nullptr; try { xr = XmlReader::Create("d:\\TEST.xml"); while(xr->Read()) { if (xr->NodeType == XmlNodeType::Text) { inhalt = xr->Value; return inhalt; } } } catch(Exception ^e) { return "MIST"; } return 0; }
-
Hallo,
Du bist evtl. im falschen Forum gelandet, zumindest was den .NET-Part angeht. Für die Konvertierung von String ^ nach std::string hilft Dir vielleicht das hier weiter:
http://msdn.microsoft.com/en-us/library/bb384865.aspxGruß
foodax
-
Vielen Dank für den Hinweis und die schnelle Antwort.
Bitte den Beitrag, so er denn falsch hier ist in die richtige Abteilung stecken.
Hier nun die Antwort auf meine Frage, habe dies mit 2008 Express getestet.
Einen System String in einen std::string geht so.
void MarshalString ( String ^ s, string& os ) { using namespace Runtime::InteropServices; const char* chars = (const char*)(Marshal::StringToHGlobalAnsi(s)).ToPointer(); os = chars; Marshal::FreeHGlobal(IntPtr((void*)chars)); }
Und das ganze andersrum:
string test String^ textstring = gcnew String(test.c_str());
Danke nochmals für die Hilfe und vielleicht hilft es ja anderen auch weiter
So long DerAndere
-
Dieser Thread wurde von Moderator/in Unix-Tom aus dem Forum MFC (Visual C++) in das Forum C++/CLI mit .NET verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.