【发布时间】:2015-09-21 08:03:51
【问题描述】:
尝试使用 c++ 的 boost xml 解析器从 xml 文件中获取内容..
opencv.xml
<opencv_storage>
<labels type_id="opencv-matrix">
<data>0 0 0 0 1 1 0 0</data>
</labels>
</opencv_storage>
C++ 代码片段
using boost::property_tree::ptree;
ptree pt;
boost::property_tree::read_xml("opencv.xml", pt);
std::string m_file = pt.get<std::string>("opencv_storage.labels type_id=\"opencv-matrix\".data");
std::cout<<"m_file "<<m_file<<std::endl;
程序在执行时抛出异常:
No such node (opencv_storage.labels type_id="opencv-matrix".data)
我怀疑,labels 和 type_id 之间有一个空格
在此先感谢,任何帮助将不胜感激,因为我正在努力适应提升。
【问题讨论】:
-
节点的名称是
labels,type_id字段是该节点的单独属性。就像在 HTML 中节点可以具有属性一样。试试"opencv_storage.labels.data"。 -
@Joachim 它工作..非常简单..