2016-04-17 11 views
0

Wie benutze ich die where() Funktion?rapidxml mit der where() Funktion

using namespace rapidxml; 
    xml_document<> doc; 
    std:string xmlfile = "test.xml"; 
    std::ifstream file (xmlfile); 
    std::stringstream buffer; 
    buffer << file.rdbuf (); 
    file.close (); 
    std::string content (buffer.str ()); 

    try 
    { 
     doc.parse<0> (&content [ 0 ]); 
    } 

    catch (rapidxml::parse_error& e) 
    { 
     std::cout << "Parsing error: " << e.what () << "\n"; 
     //const Ch* e.where (); 
    } 

bekam das, was(), aber war auf der Suche eine Art Indikator, von wo() wie der letzte Knoten, der die xml brach zu bekommen?

Antwort

0

Um die RapidXML where() metohd zu verwenden, versuchen, etwas wie folgt aus:

std::cout << e.where<char>(); 

Da where gibt einen Zeiger in die XML-Rohdaten, es ist eine Templat-Funktion. Sie können den zurückgegebenen Zeiger und die Originaldaten verwenden, um eine Zeilen- und Spaltenposition zu bestimmen, indem Sie Zeilenumbrüche zählen.