- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 boots 的 property_tree 库。我正在寻找一种从 ptree
获取子节点的方法对象,但返回一个空 ptree
如果失败。我在 property_tree/examples/empty_ptree_trick.cpp 中遇到了一个很好的例子:
void process_settings(const std::string &filename)
{
ptree pt;
read_info(filename, pt);
const ptree &settings = pt.get_child("settings", empty_ptree<ptree>());
std::cout << "\n Processing " << filename << std::endl;
std::cout << " Setting 1 is " << settings.get("setting1", 0) << std::endl;
std::cout << " Setting 2 is " << settings.get("setting2", 0.0) << std::endl;
std::cout << " Setting 3 is " << settings.get("setting3", "default") << std::endl;
}
empty_ptree()
函数不是
boost:property_tree
的成员.任何想法
empty_ptree()
是?
最佳答案
我刚刚花了一整天试图回答这个问题!
这是我的解决方案。首先我使用指针,而不是引用,因为你必须立即初始化它们。然后我刚刚捕获了异常并添加了一个新的 ptree。
using namespace boost::property_tree;
ptree r_pt;
ptree *c_pt;
read_xml( "file.xml" , r_pt);
try {
c_pt = &(r_pt.get_child( "example" ));
}
catch (ptree_bad_path) {
c_pt = &(r_pt.put_child( "example", ptree() ));
}
std::cout << "Setting 1 is " << c_pt.get("setting1", 0) << std::endl;
template<class Ptree>
inline const Ptree &empty_ptree()
{
static Ptree pt;
return pt;
}
关于boost-propertytree - boost property_tree::empty_ptree 在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5003549/
遍历空的 Boost.PropertyTree 的子节点通常是空操作: ptree empty; for (auto const& elements : empty) { std::cout
假设我有这种 XML 格式: dostuff(); 如何使用 Boost.PropertyTree 读取属性? 最佳答案 如果xml有这样的内容: mode xxx 使
我有一些 boost::property_tree::ptree .我需要删除一些具有特定标签名称的元素的树。例如,源的 xml ptree是以下内容: 10 v
Boost 有 tutorial on how to load XML from a file .如何使用我在代码中创建或从用户接收的字符串(例如使用 cin)提供它? 最佳答案 这里有一些适合我的代
我正在使用 boots 的 property_tree 库。我正在寻找一种从 ptree 获取子节点的方法对象,但返回一个空 ptree如果失败。我在 property_tree/examples/e
所以有这样的 json: { "config": { "name": "myconfig", "servecies": { "module": [ "f
文档并没有真正说明。 我知道我可以将它交给它一个 ifstream,这样我就可以检查以确保它是打开的,所以这种情况大部分都得到了处理。 但是当执行 boost::property_tree::ini_
我正在尝试编写一个 XML 解析器,将 XML 文件解析为 boost::property_tree 并遇到了这个问题。如何(快速)检查某个属性的子对象是否存在? 显然我可以使用 BOOST_FORE
我有下面显示的 JSON 文件。 { "instruments": [ { "minShift": -1.0, // opcjonalnie - jeśli brak,
有填充boost::property_tree::ptree的例子 boost::property_tree::ptree pt; pt.put("one", "value1"); pt.put("o
如果能够将路径指定到包含数组的 Boost.PropertyTree 中,那就太好了。 我可以从这个 JSON 构造一个 Boost.PropertyTree: const char* theJSON
我一直在寻找在 C++ 中存储程序设置或选项或配置的解决方案。这些可能是在 GUI 中公开的设置,需要在我的代码运行之间保存。 在我的搜索中,我遇到了 boost.PropertyTree这似乎是一个
我想在 C++ 中序列化分层数据结构。我正在处理的项目使用 boost,所以我使用 boost::property_tree::ptree 作为我的数据节点结构。 我们有像 Person 这样的高级结
我是一名优秀的程序员,十分优秀!