文档章节

libxml2 获取每个节点的值

东湖畔新家
 东湖畔新家
发布于 2017/05/09 18:48
字数 123
阅读 11
收藏 0

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <libxml2/libxml/xmlmemory.h>
#include <libxml2/libxml/parser.h>
static char nodesXml[30][30] = {0};


int initXml()
{
	int i = 0;
	char line[200] = {0};
	FILE *fp;//打开配置文件句柄
	if((fp = fopen("xml.ini","r")) ==NULL)
	{
		fprintf(stderr, "open xml.ini error\n");
		return -1;
	}
	while(fgets(line,200,fp)!=NULL)
	{
		Trim(line);
		strcpy(nodesXml[i],line);
		i++;
	}
	fclose(fp);
	return 0;
}

int parseXML(char* pXml,int length)
{
	int i = 0;
	xmlDocPtr doc = xmlParseMemory(pXml, length);
	xmlNodePtr cur = xmlDocGetRootElement(doc); 
	cur = cur->children;
	while ( cur != NULL) 
	{
		xmlChar* key = xmlNodeListGetString(doc, cur->xmlChildrenNode, 1); 
		printf("【%s = %s】\n",nodesXml[i],key); 
		xmlFree(key);
		cur = cur->next; 
		i++;
	}  
}

© 著作权归作者所有

共有 人打赏支持
东湖畔新家
粉丝 1
博文 170
码字总数 31582
作品 0
杭州
后端工程师
私信 提问
linux下使用libxml2库读写XML文件

一、安装libxml2库 在linux对XML文件进行增、删、改、查,需要使用库libxml2 这个库可以在地址:ftp.gnome.org/pub/GNOME/sources/libxml2/2.6/ 下载, 我下载的文件是libxml2-2.6.30.tar.gz...

北风其凉
2014/09/03
0
0
C++的XML编程经验――LIBXML2库使用指南

写这篇文章的原因有如下几点:1)C++标准库中没有操作XML的方法,用C++操作XML文件必须熟悉一种函数库,LIBXML2是其中一种很优秀的XML库,而且它同时支持多种编程语言;2)LIBXML2库的Tutoria...

mickelfeng
2013/04/08
0
0
Libxml2库的编译和使用

Libxml2库提供了C语言解析和构造xml文档的接口,为后台C语言处理程序和前台应用程序提供了一种通用的通迅方式。 本文以libxml2-2.6.30版本来说明Libxml2库的使用方法。 1. 编译库文件 libxml...

mickelfeng
2013/05/18
0
0
configure: error: xml2-config not found. Please ch

configure: error: xml2-config not found. Please check your libxml2 installation 参考文章:http://blog.csdn.net/anljf/article/details/6981247 configure: error: xml2-config not fo......

天下杰论
2014/06/16
0
0
Windows环境下libxml2库的使用小结

(1)--环境的搭建,下载与安装LIBXML2和ICONV Libxml2是一个C语言的XML程序库,可以简单方便的提供对XML文档的各种操作,并且支持XPATH查询,以及部分的支持XSLT转换等功能。Libxml2的下载地址...

moki_oschina
2014/08/19
0
0

没有更多内容

加载失败,请刷新页面

加载更多

C++ vector和list的区别

1.vector数据结构 vector和数组类似,拥有一段连续的内存空间,并且起始地址不变。 因此能高效的进行随机存取,时间复杂度为o(1); 但因为内存空间是连续的,所以在进行插入和删除操作时,会造...

shzwork
今天
4
0
Spring之invokeBeanFactoryPostProcessors详解

Spring的refresh的invokeBeanFactoryPostProcessors,就是调用所有注册的、原始的BeanFactoryPostProcessor。 相关源码 public static void invokeBeanFactoryPostProcessors(Configu......

cregu
昨天
4
0
ibmcom/db2express-c_docker官方使用文档

(DEPRECIATED) Please check DB2 Developer-C Edition for the replacement. What is IBM DB2 Express-C ? ``IBM DB2 Express-C``` is the no-charge community edition of DB2 server, a si......

BG2KNT
昨天
4
0
Ubuntu 18.04.2 LTS nvidia-docker2 : 依赖: docker-ce (= 5:18.09.0~3-0~ubuntu-bionic)

平台:Ubuntu 18.04.2 LTS nvidia-docker2 版本:2.0.3 错误描述:在安装nvidia-docker2的时候报dpkg依赖错误 nvidia-docker2 : 依赖: docker-ce (= 5:18.09.0~3-0~ubuntu-bionic) 先看一下依......

Pulsar-V
昨天
4
0
学习笔记1-goland结构体(struct)

写在前面:若有侵权,请发邮件by.su@qq.com告知。 转载者告知:如果本文被转载,但凡涉及到侵权相关事宜,转载者需负责。请知悉! 本文永久更新地址:https://my.oschina.net/bysu/blog/3036...

不最醉不龟归
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部