Expat 解析 xml
来源:互联网 发布:好莱坞电影推荐 知乎 编辑:程序博客网 时间:2024/05/16 17:36
Expat 解析 xml
Expat 是一个用C语言开发的、用来解析XML文档的开发库,一个XML解析器。
Expat XML Parser支持设置多种不同的处理器。但是要使用它们,你只需要学习四个功能,即可满足80%的需要。
它们是:
XML_ParserCreate 创建一个解析对象
XML_SetElementHandler 设置开始结束的回调函数
XML_SetCharacterDataHandler 设置字符数据的回调函数
XML_Parse
Expat 支持的格式
Expat 支持的格式
- UTF-8
- UTF-16
- ISO-8859-1
- US-ASCII
一个例子
/* This is simple demonstration of how to use expat. This program reads an XML document from standard input and writes a line with the name of each element to standard output indenting child elements by one tab stop more than their parent element. It must be used with Expat compiled for UTF-8 output.*/#include <stdio.h>#include "expat.h"#if defined(__amigaos__) && defined(__USE_INLINE__)#include <proto/expat.h>#endif#ifdef XML_LARGE_SIZE#if defined(XML_USE_MSC_EXTENSIONS) && _MSC_VER < 1400#define XML_FMT_INT_MOD "I64"#else#define XML_FMT_INT_MOD "ll"#endif#else#define XML_FMT_INT_MOD "l"#endifstatic void XMLCALLstartElement(void *userData, const char *name, const char **atts){ int i; int *depthPtr = (int *)userData; for (i = 0; i < *depthPtr; i++) putchar('\t'); puts(name); *depthPtr += 1;}static void XMLCALLendElement(void *userData, const char *name){ int *depthPtr = (int *)userData; *depthPtr -= 1;}intmain(int argc, char *argv[]){ char buf[BUFSIZ]; XML_Parser parser = XML_ParserCreate(NULL); int done; int depth = 0; XML_SetUserData(parser, &depth); XML_SetElementHandler(parser, startElement, endElement); do { int len = (int)fread(buf, 1, sizeof(buf), stdin); done = len < sizeof(buf); if (XML_Parse(parser, buf, len, done) == XML_STATUS_ERROR) { fprintf(stderr, "%s at line %" XML_FMT_INT_MOD "u\n", XML_ErrorString(XML_GetErrorCode(parser)), XML_GetCurrentLineNumber(parser)); return 1; } } while (!done); XML_ParserFree(parser); return 0;}
0 0
- EXPAT(XML解析库)
- expat XML解析器
- Expat 解析 xml
- expat解析xml
- PHP XML Expat 解析器
- Expat 解析器 xml php
- PHP XML Expat 解析器
- PHP XML Expat 解析器
- php expat方式解析xml
- 用expat解析包解析XML文件
- 用PHP工具包expat解析XML
- 用PHP工具包expat解析XML
- Linux 下配置Expat解析XML
- Expat XML解析器的介绍
- 用PHP工具包expat解析XML
- 使用Expat XML解析器的例子
- Web_PHP_PHP XML Expat 解析器浅谈;
- PHP基础之使用Expat解析xml
- Android开发学习资源
- 20160308 C#代码实现Excel数据导入到SQL Server数据库中
- Android--将Activity打成jar包供第三方调用(解决资源文件不能打包的问题)
- 19.CoreMotion(陀螺仪)
- Java与设计模式-状态模式
- Expat 解析 xml
- 一幅图秒懂LoadAverage(负载)
- 架设本地时间服务器
- RecyclerView
- (十七)单例模式
- paho mqtt资源地址
- SNMP的5种协议数据单元
- PAT1047编程团体赛(20)
- mirantis openstack安装后处理