linux查看xml文件的配置,Linux下使用libxml2解析XML配置文件

#include using namespace std;

void readXMLBetter(string& fileName, int (&arrays)[8], int arraySize, int& cgId, int& flag)

{

xmlDocPtr doc = xmlParseFile(fileName.c_str());

if (doc == NULL)

{

cout

while (curElement)

{

//如果是text则链表向下走一位

if (!xmlStrcmp(curElement->name,(const xmlChar*)"text"))

{

curElement = curElement->next;

if (curElement == NULL)

break;

}

xmlNodePtr curNode = curElement->xmlChildrenNode;

//得到categoryId,判断是否跟cgId相等

if (!xmlStrcmp(curNode->name,(const xmlChar*)"text"))

{

curNode = curNode->next;

if (curNode == NULL)

break;

}

xmlChar* tmp = xmlNodeGetContent(curNode);

int categoryId = atoi((char *)tmp);

xmlFree(tmp);

curNode = curNode->next;

if (categoryId == cgId)

{

int i = 0;

while(curNode)

{

if (!xmlStrcmp(curNode->name,(const xmlChar*)"text"))

{

curNode = curNode->next;

if (curNode == NULL)

break;

}

xmlChar* tmp = xmlNodeGetContent(curNode);

if (i < arraySize)

arrays[i++] = atoi((char *)tmp);

xmlFree(tmp);

curNode = curNode->next;

}

}

curElement = curElement->next;

}

xmlFree(doc);

}

int main()

{

string fileName = "category.xml";

int categorys[5] = {12, 23, 25, 30, 45};

for (int i = 0; i < 5; ++i)

{

int flag = 0;

int arrays[8] = {1, 1, 1, 1, 1, 1, 1, 1};

readXMLBetter(fileName, arrays, 8, categorys[i], flag);

int brand = arrays[0];

int color = arrays[1];

int marketTime = arrays[2];

int model = arrays[3];

int productFuc = arrays[4];

int netSize = arrays[5];

int pkgSize = arrays[6];

int pkgList = arrays[7];

cout<

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值