2010-07-10 17:08:11 +00:00
|
|
|
#include "pugixml.hpp"
|
|
|
|
|
|
|
|
#include <iostream>
|
|
|
|
|
|
|
|
int main()
|
|
|
|
{
|
2010-07-11 13:29:12 +00:00
|
|
|
pugi::xml_document doc;
|
|
|
|
if (!doc.load_file("xgconsole.xml")) return -1;
|
2010-07-10 17:08:11 +00:00
|
|
|
|
2010-07-10 18:06:32 +00:00
|
|
|
//[code_xpath_error
|
2010-07-11 13:29:12 +00:00
|
|
|
// 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;
|
|
|
|
}
|
2010-07-10 17:08:11 +00:00
|
|
|
|
2010-07-11 13:29:12 +00:00
|
|
|
// 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;
|
|
|
|
}
|
2010-07-10 17:08:11 +00:00
|
|
|
|
2010-07-11 13:29:12 +00:00
|
|
|
// 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;
|
|
|
|
}
|
2010-07-10 17:08:11 +00:00
|
|
|
//]
|
|
|
|
}
|
2010-07-11 13:29:12 +00:00
|
|
|
|
|
|
|
// vim:et
|