LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 871|回复: 7

写了个XML的解析器,欢迎扔鸡蛋

[复制链接]
发表于 2005-1-25 23:57:15 | 显示全部楼层 |阅读模式
只支持ASCII码,可以编辑XML
too few param error
usage:
parser *.xml
use default parser c2s.xml
parse ended
├<c2s>
│├<id>
││└c2s
│├</id>
│├<pidfile>
││└/usr/local/var/jabberd/pid/c2s.pid
│├</pidfile>
│├<router>
││├<ip>
│││└127.0.0.1
││├</ip>
││├<port>
│││└5347
││├</port>
││├<user>
│││└root
││├</user>
││├<pass>
│││└123456
││├</pass>
││├<retry>
│││├<init>
││││└3
│││├</init>
│││├<lost>
││││└3
│││├</lost>
│││├<sleep>
││││└2
│││└</sleep>
││└</retry>
│├</router>
│├<log type='syslog' >
││├<ident>
│││└jabberd/c2s
││├</ident>
││├<facility>
│││└local3
││└</facility>
│├</log>
│├<local>
││├<id>
│││└localhost
││├</id>
││├<ip>
│││└0.0.0.0
││├</ip>
││├<port>
│││└5222
││└</port>
│├</local>
│├<io>
││├<max_fds>
│││└1024
││├</max_fds>
││├<limits>
│││├<bytes>
││││└0
│││├</bytes>
│││├<connects>
││││└0
│││└</connects>
││├</limits>
││├<access>
│││├<order>
││││└allow,deny
│││└</order>
││├</access>
││├<check>
│││├<interval>
││││└0
│││├</interval>
│││├<idle>
││││└0
│││├</idle>
│││├<keepalive>
││││└0
│││└</keepalive>
││└</check>
│├</io>
│├<authreg>
││├<module>
│││└mysql
││├</module>
││├<register>
│││├<enable/>
│││├<instructions>
││││└Enter a username and password to register with this server.
│││└</instructions>
││├</register>
││├<mechanisms>
│││├<traditional>
││││├<plain/>
││││├<digest/>
││││└<zerok/>
│││├</traditional>
│││├<sasl>
││││├<plain/>
││││└<digest-md5/>
│││└</sasl>
││├</mechanisms>
││├<mysql>
│││├<host>
││││└localhost
│││├</host>
│││├<port>
││││└3306
│││├</port>
│││├<dbname>
││││└jabberd2
│││├</dbname>
│││├<user>
││││└root
│││├</user>
│││├<pass>
││││└123456
│││└</pass>
││├</mysql>
││├<pgsql>
│││├<host>
││││└localhost
│││├</host>
│││├<port>
││││└5432
│││├</port>
│││├<dbname>
││││└jabberd2
│││├</dbname>
│││├<user>
││││└root
│││├</user>
│││├<pass>
││││└123456
│││└</pass>
││├</pgsql>
││├<db>
│││├<path>
││││└/usr/local/var/jabberd/db
│││├</path>
│││└<sync/>
││├</db>
││├<ldap>
│││├<host>
││││└ldap.example.com
│││├</host>
│││├<port>
││││└389
│││├</port>
│││├<uidattr>
││││└uid
│││├</uidattr>
│││├<basedn realm='company' >
││││└o=Company.com
│││├</basedn>
│││├<basedn>
││││└o=Example Corp.
│││└</basedn>
││├</ldap>
││├<pipe>
│││├<exec>
││││└/usr/local/bin/pipe-auth.pl
│││└</exec>
││└</pipe>
│└</authreg>
└</c2s>
发表于 2005-1-26 10:00:49 | 显示全部楼层
晕,没有源代码,怎样讨论啊?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-1-26 10:12:22 | 显示全部楼层
等我整理好,一起拿上来吧,现在拿出来不浩医师
回复 支持 反对

使用道具 举报

发表于 2005-1-27 20:32:43 | 显示全部楼层
希望兄弟支持 utf-8 编码。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-1-27 21:00:54 | 显示全部楼层
Post by wide288
希望兄弟支持 utf-8 编码。


谢谢兄弟鼓励,只是当初为简便起见,词法分析和语法分析都
是手工写的,没有对编码说明部分做解析,现在拓展起来有点
乱,我对XML标准都没多少接触,每次检查都是找个合法的XML
测试,过年回来,把代码发上来,有兄弟感兴趣的帮忙改改,
不胜感激
回复 支持 反对

使用道具 举报

发表于 2005-1-28 10:54:59 | 显示全部楼层
我用lex和yacc写了一个xml解释器,可以解释ASCII 8位编码的xml文件. 如果要支持utf-8或者utf-16, lex和yacc实在比较麻烦, 所以觉得还是用iconv库函数转换,或者将utf转成ascii后再分析比较方便.
回复 支持 反对

使用道具 举报

发表于 2005-1-28 11:03:32 | 显示全部楼层
拜一个
我是来看代码的
鸡蛋就算了
回复 支持 反对

使用道具 举报

发表于 2005-1-28 23:02:05 | 显示全部楼层
utf-8 是支持中文的,所以和别的不同哦。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表