44 lines
898 B
C++
44 lines
898 B
C++
|
#include "pugixml.hpp"
|
||
|
|
||
|
#include <iostream>
|
||
|
|
||
|
int main()
|
||
|
{
|
||
|
pugi::xml_document doc;
|
||
|
if (!doc.load_file("xgconsole.xml")) return -1;
|
||
|
|
||
|
// tag::code[]
|
||
|
// Exception is thrown for incorrect query syntax
|
||
|
try
|
||
|
{
|
||
|
doc.select_nodes("//nodes[#true()]");
|
||
|
}
|
||
|
catch (const pugi::xpath_exception& e)
|
||
|
{
|
||
|
std::cout << "Select failed: " << e.what() << std::endl;
|
||
|
}
|
||
|
|
||
|
// Exception is thrown for incorrect query semantics
|
||
|
try
|
||
|
{
|
||
|
doc.select_nodes("(123)/next");
|
||
|
}
|
||
|
catch (const pugi::xpath_exception& e)
|
||
|
{
|
||
|
std::cout << "Select failed: " << e.what() << std::endl;
|
||
|
}
|
||
|
|
||
|
// Exception is thrown for query with incorrect return type
|
||
|
try
|
||
|
{
|
||
|
doc.select_nodes("123");
|
||
|
}
|
||
|
catch (const pugi::xpath_exception& e)
|
||
|
{
|
||
|
std::cout << "Select failed: " << e.what() << std::endl;
|
||
|
}
|
||
|
// end::code[]
|
||
|
}
|
||
|
|
||
|
// vim:et
|