问题标签 [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++ - Boost 属性树和 Xml 解析问题
我正在使用boost::property_tree
. 该文档非常模糊,并且在大多数情况下总体上没有帮助。查看源代码/示例也没有太大帮助。
我想知道的是以下内容:
如何迭代当前级别的所有元素?如果我这样做:
在ParseEntry
我尝试这个:
导致异常(not 不存在)。我也试过这个:
同样的问题。
根据我的理解,当我打电话时,ParseEntry
我正在传递对该节点的树的引用。
当我有多个StringTable
使用属性树的条目时,有什么办法可以解决这个问题?
c++ - 以文件名为键提升属性树
我正在尝试使用文件名作为boost::PropertyTree中的键
然而 '。' 文件名中的字符(例如“example.txt”)会导致在属性树中添加一个附加层。最明显的解决方案是替换 '.' 使用另一个字符,但可能有更好的方法来执行此操作,例如使用转义字符。
在下面的示例中,值 10 将被放入节点 'txt',它是 'example' 的子节点。相反,我希望将值 10 存储在节点“example.txt”中。
如何为单个节点使用完整文件名?
在此先感谢您的帮助!
c++ - 使用属性树在 Boost 中创建 JSON 数组
我正在尝试使用 boost 属性树创建一个 JSON 数组。
文档说: “ JSON 数组映射到节点。每个元素都是一个名称为空的子节点。”
所以我想创建一个名称为空的属性树,然后调用write_json(...)
以获取数组。但是,文档并没有告诉我如何创建未命名的子节点。我试过ptree.add_child("", value)
了,但这会产生:
该文档似乎没有解决这一点,至少我无法弄清楚。任何人都可以帮忙吗?
json - 为什么 Boost 属性树 write_json 将所有内容都保存为字符串?有可能改变吗?
我正在尝试使用boost属性树write_json进行序列化,它将所有内容保存为字符串,并不是数据错误,但我每次都需要明确地转换它们并且我想在其他地方使用它们。(如在 python 或其他 C++ json(非 boost)库中)
这是一些示例代码,我得到的取决于语言环境:
并且my_string_to_send_somewhere_else
是某事。像这样:
无论如何将它们保存为值,例如:
"key1" : true
或"key2" : 2.2
?
c++ - 使用 Boost property_tree 更新 XML 文件
我有以下 XML 文件:
我想向 Data 节点添加一个新节点:Parameter2="2"。此代码不起作用,保存的文件仍然只包含一个参数:
如果我在 dataTree.put 之后添加这两行,我会得到正确的结果:
我不喜欢这个解决方案,因为它会给更复杂的树结构带来问题。是否可以在不删除/添加子节点的情况下更新属性树?
c++ - 向第三方类添加静态成员变量
我正在为一个项目使用 Boost.Property_Tree,我想向它添加一些功能。我想添加一个“fromFile”静态成员变量,它将找出文件类型,然后使用正确的解析器。在我的项目中,这就是我目前的方式。
然后我有另一个名为 ConfigLoader 的类,我一直在使用它来加载文件。不过,我想将一个函数添加到 ConfigNode 类中。我需要编译器将 ConfigNode 视为 boost::property_tree,但我想添加一个静态函数。有没有办法做到这一点?
c++ - Boost.PropertyTree 中的属性是如何解析的?
假设我有这种 XML 格式:
如何使用 Boost.PropertyTree 读取属性?
c++ - C++:如何使用 boost::property_tree 创建一个数组?
我看不到使用 boost::property 树创建数组的方法。以下代码...
...只是给我...
boost::property_tree 上的文档很少。如何使用 boost::property_tree 创建 JSON 数组?
c++ - 如何迭代提升属性树?
我知道正在接近提升属性树,并看到它是用于 c++ 编程的提升库的一个很好的特性。
好吧,我有一个疑问?如何使用迭代器或类似方法迭代属性树?
在参考中,只有一个浏览树的示例:
但是没有别的了吗?类似于 stl 的容器之类的东西?谈到代码质量,这将是一个更好的解决方案......
c++ - Boost Property_Tree 迭代器,如何处理它们?
对不起,我之前问过一个关于同一主题的问题,但我的问题涉及那里描述的另一个方面(如何迭代提升...)。
看看下面的代码:
好吧,正如我在提到的问题中被告知的那样,可以property_tree
在 Boost 中使用迭代器,但我不知道它是什么类型,以及我可以使用哪些方法或属性。
好吧,我假设它必须是另一个ptree
或代表另一个 xml 层次结构的东西才能再次浏览(如果我愿意的话),但是关于这个的文档非常糟糕。我不知道为什么,但在 boost 文档中我找不到任何好的东西,只是关于浏览节点的宏,但这种方法是我真的想避免的。
所以在这里解决我的问题:一旦在 a 上获取迭代器ptree
,我如何访问节点名称、值、参数(xml 文件中的节点)?谢谢