2
這裏是我的問題:Pugixml C++解析布爾
的test.xml
<?xml version="1.0" encoding="UTF-8"?>
<server>
<a>true</a>
<b>false</b>
</server>
TEST.CPP
sampgdk::logprintf("%d", config.get<bool>("server/a"));
sampgdk::logprintf("%d", config.get<bool>("server/b"));
結果:
1
1
結果應該是1和0對嗎?但是我總是在兩種情況下得到1。它只發生在evaluate_boolean()。evaluate_number()和evaluate_string()完美工作。
這裏是我的config.get
template<> bool framework::xml::get(std::string xpath) {
if (is_open) {
try {
return pugi::xpath_query(xpath.data()).evaluate_boolean(*ptr);
}
catch (std::exception &e) {
sampgdk::logprintf("XML exception: %s\n", e.what());
}
}
return false;
}
我希望所有的賭注都關閉,因爲你有一個無效的XML文件。 – immibis
@immibis XML文件有效。 這裏是我的代碼,打開XML文件: 框架:: XML配置; config.open(「test.xml」); –
您問題中顯示的XML無效。需要有一個封閉的標籤。 – Galik