使用where()函数的rapidxml

时间:2016-04-17 19:23:46

标签: c++ rapidxml

我如何使用where()函数?

    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 ( );
    }

得到了what(),但是想要从哪个(?)获取某种指示符,就像最后一个打破xml的节点一样?

1 个答案:

答案 0 :(得分:0)

要使用RapidXml where() metohd,请尝试以下方法:

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

因为where返回指向原始XML数据的指针,所以它是一个模板化函数。您可以使用返回的指针和原始数据通过计算换行符来确定行和列位置。

相关问题