首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > XML SOAP >

C程序运用xml

2012-09-01 
C程序使用xmlC程序使用xml?项目用到的 改编简单实例?1.使用libxml2? tar xjvf libxml2-2.6.24.tar.bz2? cd

C程序使用xml

C程序使用xml

?

项目用到的 改编简单实例

?

1.使用libxml2

? tar xjvf libxml2-2.6.24.tar.bz2

? cd libxml2-2.6.24

? ./configure --prefix=/arm/usr --host=arm-linux

? make?

? make install

2.编写rxml.xml

?

<?xml version="1.0"?>?

<qvbstr>?

<storyinfo>?

<author>qvb3d</author>?

<datewritten>March 2, 2012</datewritten>?

<keyword>example keyword</keyword>?

</storyinfo>?

<body>?

<headline>This is the headline</headline>?

<para>This is the body text.</para>?

</body>?

</qvbstr> ??

?

3.编写C程序

?

#include <stdio.h>

#include <string.h>

#include <stdlib.h>

#include <libxml/xmlmemory.h>

#include <libxml/parser.h>

#define TESTXML_FILE "rxml.xml"

int main(int argc,char *argv[])

{

char docname[]=TESTXML_FILE;

xmlDocPtr doc;

xmlNodePtr cur;

doc=xmlParseFile(docname);

if (doc==NULL)

? {

? printf("Document %s error!\n",docname);

? return 0;

? }

cur=xmlDocGetRootElement(doc);

if (cur==NULL)

? {

? printf("empty Document %s error!\n",docname);

? return 0;

? }

if(xmlStrcmp(cur->name,(const xmlChar *)"qvbstr"))

? {

? printf("Document of the wrong type,root node!=qvbstr\n");

? }?

if(!(cur->name==NULL))

? {

? printf("root node=%s\n",cur->name);

? }

xmlFreeDoc(doc);

return 0;

}

?

4.写Makefile

?

 all:

gcc rxml.c -o rxml -lxml2 -lz -lpthread -licucore -lm \

-I/arm/include/libxml2 -L/arm/lib

clean:

rm -rf rxml

?保存

?也可以手工使用

?xml2-config --libs --cflags

?查看要链接的库位置和链接标志

?前提你编译时,安装到系统上一个libxml2

?./configure --prefix=/usr

?

热点排行