c++ 读取xml文件库

 

相关源码动态库与测试工程见下载 :http://download.csdn.net/download/wangchao712217/10231435


/*=====================================================================================
* 1.LABEL_TREE数据结构
* 2.XML_LIST数据结构
* 3.全局静态变态
* 4.操作函数
*   (1) 结点创建函数
*   (2) LABEL_TREE操作函数
*   (3) XML_LIST操作函数
*   (4) 内存池操作函数
*   (5) xml文件读写操作函数
* 5.使用流程
*   (1) 读取xml,形成LABEL_TREE和XML_LIST。即调用ReadXml()函数。
*   (2) 通过使用xml文件读写操作函数,完成对xml内容的获取,修改等。如GetValue(),
*       GetValues(),SetValue()等。
*   (3) 若对xml的值进行了修改,则需要进行提交更改到新的文件中,即调用CommitToFile(),
*       这里的处理原则是不改动原文件而是将一系列的改动后的新版本写入新文件。
*   (4) 释放内存,关闭xml文件。即调用CloseXml()函数
*   注:GetValueFromFile()函数可直接使用而不用进行(1)(4)操作。
*=====================================================================================*/


int main()
{
	if (ReadXml("./xml.xml") == false) { return 0; }
	
	char buffer[100] = { 0 };
	if (GetValue("APP", buffer, "id", "1", VALUE) == true) { printf("%s\n", buffer); }
	else { printf("GetValue failed\n"); }

	if (GetValue("APP", buffer, NULL, NULL, VALUE) == true) { printf("%s\n", buffer); }
	else { printf("GetValue failed\n"); }

	if (GetValue("APP", buffer, "id", "3", VALUE) == true) { printf("%s\n", buffer); }
	else { printf("GetValue failed\n"); }

	if (GetValue("APP", NULL, "id", buffer, PROPERTY_VALUE) == true) { printf("%s\n", buffer); }
	else { printf("GetValue failed\n"); }

	if (GetValue("VacNbr", NULL, "bingo", buffer, PROPERTY_VALUE) == true) { printf("%s\n", buffer); }
	else { printf("GetValue failed\n"); }

	AddOne("VacNbr", "id", "1", "wangchao", "wc", KEY);
	CommitToFile("./xml.xml");
	CloseXml();
	
	
	//LabelTree_InsertProperty("123", test);
	
	return 0;
}




xml文件内容


<?xml version="1.0" encoding="GBK"?>

<ROOT>

	<MsgID year="2016" month="07" day="26">20160912000000000000000000001</MsgID>

	<MsgRef>20160912000000000000000000002 20160912000000000000000000002 2016091200000000000000000000220160912000000000000000000002201609120000000000000000000022016091200000000000000000000220160912000000000000000000002</MsgRef>

	<DES>BANK</DES>

	<VacNbr id="1" time="hello">

		<wangchao></wangchao>

	</VacNbr>

	<VacNbr id="2" keyming="ming">		<00010&001"2</VacNbr>

			<VacNbr id="3" hahah="buhaha"></VacNbr>

			<VacNbr id="4" hahah="cc" bingo="Nokia">1074515145125501254013</VacNbr>

			<VER>

				<SRC id="3">

					<DES id="3">

						<APP id="1">8212482124821248212482124821248212482124821248212482124821248212482124821248212482124</APP>

					</DES>

				</SRC>

			</VER>

			<DES id="1">OVERBANK</DES>

			<SRC>1100201660042</SRC>

			<MsgNo>1003</MsgNo>

		</00010&001"2</VacNbr>

10089725 1008972512200&01&00;013</VacNbr>

</ROOT>






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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值