Poco读写XML配置文件示例

本文介绍如何使用Poco C++库读取及修改XML配置文件,并展示了具体的代码实现过程。通过示例,读者可以了解到如何获取XML节点值、设置新节点并保存更改。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原XML配置文件:

<root>
	<hostname>ZHANGSAN</hostname>
	<ip>127.0.0.1</ip>
</root>

执行后XML配置文件:

<root>
	<hostname>ZHANGSAN</hostname>
	<ip>127.0.0.1</ip>
	<port>1521</port>
</root>

Poco读取修改配置文件代码:

#include <Poco/AutoPtr.h>
	#include <Poco/Util/XMLConfiguration.h>

	std::string fileName = "D:\\test.xml";
	Poco::AutoPtr<Poco::Util::XMLConfiguration> pXML(new Poco::Util::XMLConfiguration(fileName)); 
	std::string hostname = pXML->getString("hostname");
	std::string ip = pXML->getString("ip");

	cout<<"hostname:"<<hostname<<"\nip:"<<ip<<endl;

	pXML->setInt("port", 1521);
	pXML->save(fileName);


XML文件格式:

<config>
    <prop1>value1</prop1>
    <prop2>value2</prop2>
    <prop3>
       <prop4 attr="value3"/>
       <prop4 attr="value4"/>
    </prop3>
    <prop5 id="first">value5</prop5>
    <prop5 id="second">value6</prop5>
</config>

读取属性时的字符串:

prop1 -> value1
prop2 -> value2
prop3.prop4 -> (empty string)
prop3.prop4[@attr] -> value3
prop3.prop4[1][@attr] -> value4
prop5[0] -> value5
prop5[1] -> value6
prop5[@id=first] -> value5
prop5[@id='second'] -> value6


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值