XML in C++
-
Hall Leute,
ich habe Code entwickelt um Variablen in ein Text File und in eine XML zu schreiben.
Meine Frage ist:
wenn ich die Variablen in das Code Fenster rein schreibe werden die Variablen
in mein Texz File geschrieben.
Bei meiner XML sieht es da leider nicht so aus. Wie kann ich die Variablen
in mine XML schreiben?
Ich hänge das Code Snippet an dieser MAil an:Code Snippet
#include <iostream>
#include <fstream>
#include <string>
#include <sstream>using namespace std;
Pictures///////////////////////////
//-how can I integrate the Code to read the variables from the file
//-int main()
{
string sname; //variables will read from the HALCON Script
string Threshold;
double intensity;
double orientation;cout << "Filenname: ";
cin >> sname;
cout << endl;
cout << "Threshold: ";
cin >> Threshold;
cout << "Intensity: ";
cin >> intensity;
cout << "Orientation: ";
cin >> orientation;string sname2 = sname;
sname.append(".txt"); //how can I set here an path for the .txt file
ofstream newdatabase(sname2.c_str());
newdatabase << "Threshold: " << Threshold << ' ' << endl << "Intensity: " << intensity << ' ' << endl << "Orientation: " << orientation << endl;
newdatabase.close();//example for xml//wie kann ich die eingegebenen variablen in die xml schreiben???
ofstream out;
out.open("VariablesVision.xml");
out << "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" << endl
<< "<Variablen>" << endl
<< "<Variable>" << endl
<< "<Variable1 =\" Threshold = 23\" Variable2=\Intensity = 45\">\n</Variable1>"
<< "</Variable>" << endl
<< "</Variablen>" << endl;out.close();
}
Hoffe Ihr könnt mir helfen.
Vielen Vielen Dank[code="cpp"]
-
Das soll übersetzt werden? Kann ich nicht glauben.
-
So sieht das aus:
Ergebnis in XML:
<?xml version="1.0" encoding="UTF-8"?>
<Variablen>
<Variable>
<Variable1 =" Threshold = 23" Variable2=Intensity = 45">
</Variable1></Variable>
</Variablen>Ergebnis in .txt
Threshold: 23
Intensity: 45
Orientation: 56
-
na, genauso, wie in die txt-Datei auch:
... << "<Threshold>" << Threshold << "</Threshold>" ...
-
Emma19821 schrieb:
Ergebnis in XML:
<?xml version="1.0" encoding="UTF-8"?>
<Variablen>
<Variable>
<Variable1 =" Threshold = 23" Variable2=Intensity = 45">
</Variable1></Variable>
</Variablen>Das ist ja wohl kein gültiges XML...
-
Im Allgemeinen ist das Schreiben von XML nicht ganz so trivial, weil man stark darauf achten muss, dass z. B. so Zeichen wie "<" und "&" durch ihre Entity-Repräsentationen ersetzt werden. Bei reinen Zahlen ist das sicherlich unkritisch, aber den hemdsärmligen Ansatz, einfach die Tag-Strings auszugeben und dazwischen den Wert direkt aus der Variable, geht meistens früher oder später schief.
Gruß
Marco
-
verwende fürs Lesen/Schreiben von XML eine Lib wie z.B. pugixml ( https://pugixml.org ). Das erspart einem viel Ärger
-
Benutze daher besser einen XML-Parser/Writer, z.B. TinyXml (2)