Es tut mir leid, ich habe bereits eine Frage zum gleichen Thema gestellt, aber mein Problem betrifft einen anderen Aspekt als den dort beschriebenen ( Wie man einen Boost iteriert... ).
Werfen Sie einen Blick auf den folgenden Code:
#include <iostream>
#include <string>
#include <boost/property_tree/ptree.hpp>
#include <boost/property_tree/xml_parser.hpp>
#include <boost/algorithm/string/trim.hpp>
int main(int argc, char** argv) {
using boost::property_tree::ptree;
ptree pt;
read_xml("try.xml", pt);
ptree::const_iterator end = pt.end();
for (ptree::const_iterator it = pt.begin(); it != end; it++)
std::cout << "Here " << it->? << std::endl;
}
Nun, wie mir in der Frage, die ich erwähnt habe, gesagt wurde, gibt es die Möglichkeit, Iteratoren auf property_tree
in Boost, aber ich weiß nicht, welcher Typ es ist und welche Methoden oder Eigenschaften ich verwenden kann.
Nun, ich nehme an, dass es sich um eine andere ptree
oder etwas, das eine andere Xml-Hierarchie darstellt, um wieder durchsucht zu werden (wenn ich will), aber die Dokumentation dazu ist sehr schlecht. Ich weiß nicht, warum, aber in den Boost-Dokumenten kann ich nichts Gutes finden, nur etwas über ein Makro zum Durchsuchen von Knoten, aber dieser Ansatz ist einer, den ich wirklich gerne vermeiden würde.
Damit komme ich zu meiner Frage: Sobald ich den Iterator auf eine ptree
Wie kann ich auf den Namen des Knotens, den Wert und die Parameter zugreifen (ein Knoten in einer Xml-Datei)? Vielen Dank