相关源码动态库与测试工程见下载 :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>