问题标签 [boost-propertytree]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 提升属性树 put/get DBL_MAX
我正在编写一个 ptree 并且在某些时候我需要将 DBL_MAX 放入(作为默认值)。当我打开生成的 xml 文件时,我看到了正确的数字。
但是当我使用 ptree.get 获取数字时,会引发异常:conversion of data to type "d" failed
这是我的代码:
什么可能导致此错误,我该如何解决?
c++ - 将数据添加到 boost property_tree
我有一个存储在 XML 中的简单树结构,boost::property_tree::ptree
用于读取和提取信息。然后我使用重新创建树,std::maps
以便我可以将数据存储在叶子中。这很好用,我喜欢固定树结构与数据的分离,但我觉得我重复了很多代码,如果我可以为 ptree 中的每个叶节点添加一个类,我可以大大简化我的代码。
作为我boost::variant
在课堂上使用的一个可能的轻微并发症,我希望将其存储在叶子中。
我的主要问题是我是否应该尝试将动态数据添加到 ptree,其次,如果是这样,您对添加它的最佳方式有什么建议吗?
c++ - 使用 boost 属性树解析 JSON
我正在构建一个从 themoviedb.com 获取电影信息的应用程序。该信息以 JSON 文件的形式提供。我正在尝试使用 boost 属性树来存储信息。但是有一个小问题。
我通过以下代码说明问题:
但是当我运行它时,我得到以下输出:
有谁知道我做错了什么?我猜它在 BOOST_FOREACH 代码中。
PS:将 Xcode 4.5.2 与 LLVM GCC 4.2 编译器一起使用。
c++ - 使用 Boost 解析 XML 属性
我想与您分享一个我在尝试使用 Boost 库(版本 1.52.0)处理 C++ 中 XML 元素的某些属性时遇到的问题。给定以下代码:
假设我有以下 XML 结构:
因此,我将得到的控制台输出将是下一个:
但是,如果我决定为从根节点放下的每个元素使用一个通用结构(以便从它们的特定属性中识别它们),结果将完全改变。在这种情况下,这可能是 XML 文件:
输出如下:
由于已经打印了三组属性,因此似乎可以正确识别挂在根节点上的元素数量。尽管如此,它们都指的是第一个元素的属性......
我不是 C++ 方面的专家,而且对 Boost 来说真的很陌生,所以这可能是我在哈希映射处理方面所缺少的东西......任何建议都将不胜感激。
c++ - How to iterate over XML structure in boost::property_tree
I have an XML structure along the lines of:
Which is being read into a boost::property_tree
, There are 1..Many <SomeElement>
s, and then at an arbitrary depth within that element there could be 1..Many <ElementIWant>
s
Is there a way to iterate over the <ElementIWant>
directly (in a single loop) in the order that they appear in the doc?
I have looked at equal_range
However it seems to fail to return nodes (Which I suspect is because equal_range works at the level of the tree node supplied) Which brings me to the question above...
c++ - Boost 属性树的并发问题
我开发了一个简单的包装器,它用 Boost 属性树封装了一个 JSONObject。问题是此代码中的分段错误:
一点上下文,我正在使用 JSON 进行消息序列化。如果程序只使用一个线程,它就可以正常工作。但是如果程序使用两个线程在上面代码的最后一行给出了分段错误。
每个线程都有自己的 JSONObject 对象,并且线程之间不共享任何变量。我的想法是,流可能在内部不是线程安全的。
谁能帮我?
c++ - Boost Property Tree:从节点中删除属性
我有以下 XML 文件:
我想用 and 删除边缘的start
and属性。end
source="0"
target="1"
我尝试这样做的方式是在以下代码中。假设 XML 文件名为ptree_test.gexf
我读入它,在树中找到正确的边,然后尝试使用erase
来摆脱属性。
这不起作用。它不会删除该属性。事实上,如果我输入一个调试语句来打印它的返回值,edge.erase(attr.first)
就会显示0
.
c++ - Boost c++ 属性 - 如果键不存在则设置为 false
我是使用属性树进行 json 解析的新手。
如果我有这个哈希:
我需要检查一个密钥是否存在,如果没有将其设置为 false。
我该如何优雅地做到这一点?
谢谢
c++ - Boost .ini 文件解析器 - 多个部分名称
我正在使用 boost::property_tree 来解析 ini 文件。
我希望能够执行以下操作:
数据.ini:
当前程序运行,并给出了这个错误:duplicate section name
显然是因为有两个[proton]
部分。
有没有另一种方法来解析这样的文件?我应该使用 xml 文件吗?
c++ - 检查提升属性树中的值是树还是终端值
我一直在 boost::property_tree(用于读取 json)中寻找 API,可用于确定字段的值是树还是终端值。例如,我有一个 json,其中 foo 的值可以是第一个块中所示的树,也可以是第二个块中所示的字符串。
我知道我们可以先检查 get_child_optional。如果返回值为null,那么我们可以检查get_optional。但是有没有更好的方法/api来做到这一点?