FileStorage

//写入数据到xml文档中

string szName = "C:\\Users\\BZL\\Desktop\\1.xml";
	FileStorage fs(szName, FileStorage::WRITE);

	// seq_node 是一个 seq 型的节点, 以它为父节点,存入10个数据
	fs << "seq_node" << "[";
	for (int i = 0; i < 10; ++i) {
		fs << i;
	}
	fs << "]";

//  结果:<seq_node>0 1 2 3 4 5 6 7 8 9</seq_node>

	// map_node 是一个 map 型节点, 以它为父节点,存入10个数据
	fs << "map_node" << "{";
	for (int i = 0; i < 10; ++i) {
		fs << "node_" + to_string(i) << i;
	}
	fs << "}";

//  结果:
<map_node>
  <node_0>0</node_0>
  <node_1>1</node_1>
  <node_2>2</node_2>
  <node_3>3</node_3>
  <node_4>4</node_4>
  <node_5>5</node_5>
  <node_6>6</node_6>
  <node_7>7</node_7>
  <node_8>8</node_8>
  <node_9>9</node_9>
</map_node>

	fs.release();

分割线/

string szName = "C:\\Users\\BZL\\Desktop\\1.xml";
	FileStorage fs(szName, FileStorage::READ);
	FileNode seqNode = fs["seq_node"];
	for (int i = 0; i < 10; ++i)
	{
		int a = 0;
		seqNode[i] >> a;
		cout << a << endl;
	}


/*
result:
0
1
2
3
4
5
6
7
8
9
*/

	FileNode mapNode = fs["map_node"];
	int b = 0;
	//注释掉的无法读取子节点的值
	//for (int i = 0; i < 10; ++i)
	//{
	//	cout << "node_" + to_string(i) << endl;
	//	fs["map_node","node_" + to_string(i)] >> b;
	//	cout << b << endl;
	//}

	FileNodeIterator it = mapNode.begin();
	for (; it != mapNode.end(); ++it)
	{
		*it >> b;
		cout << b << endl;
	}

/*
result:
0
1
2
3
4
5
6
7
8
9
*/

读取的内容如下:


<opencv_storage>

     <seq_node> 0 1 2 3 4 5 6 7 8 9 </seq_node>

   <map_node>

     <node_0> 0 </node_0>

    <node_1> 1 </node_1>

    <node_2> 2 </node_2>

   <node_3> 3 </node_3>

   <node_4> 4 </node_4>

   <node_5> 5 </node_5>

   <node_6> 6 </node_6>

   <node_7> 7 </node_7>

   <node_8> 8 </node_8>

    <node_9> 9 </node_9>

  </map_node>

</opencv_storaget>







 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值