LinuxSir.cn,穿越时空的Linuxsir!

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

关于用libxml2解析xml文档的问题

[复制链接]
发表于 2003-10-15 18:55:02 | 显示全部楼层 |阅读模式
我有这样的xml文件:
<?xml version="1.0" encoding="GB2312" ?>
<smsxml>
        <sms>
                <phone>13814048888</phone>
                <msg>HI,你好。这是SMS DEMO测试I。</msg>
        </sms>
</smsxml>
当我用xmlNodeListGetString(msg=xmlNodeListGetString(doc, child->xmlChildrenNode,1))得到msg的值时,得到的结果是乱码(后来我才知道输出默认会转换为utf-8编码)。我现在只想得到原始的信息(HI,你好。这是SMS DEMO测试I。),怎么办?我用UTF8Toisolat1结果也不行。
我将xml文件中encoding换成ISO-8859-2结果一样。
发表于 2003-10-15 23:33:00 | 显示全部楼层
好像这个对中文支持不好

你上网去查看是不是这个原因

我也是以前查找XML资料时看到的

不知道现在改了没有

另外转换到gb2312的函数是iconv
 楼主| 发表于 2003-10-16 09:25:49 | 显示全部楼层
后来我才知道输出默认会转换编码为utf-8,Daniel说可以用xmlNewCharEncodingHandler扩展编码转换,但是我不知道该怎么做。
发表于 2003-10-16 09:46:04 | 显示全部楼层
请问各位大大,在Linux下写xml解析,是不是都用libxml2?
 楼主| 发表于 2003-10-16 09:51:41 | 显示全部楼层
好象还有好几个xml解析器的。
发表于 2003-10-16 11:58:56 | 显示全部楼层
发表于 2003-10-16 19:56:35 | 显示全部楼层
iconv可以在各编码间转换

你试看它的man看吧
 楼主| 发表于 2003-10-17 09:31:24 | 显示全部楼层
后来啊,我发觉iconv转换xml文件才是最方便的。将xml文件转为utf-8编码就不存在着这些乱七八糟的问题了。
发表于 2003-10-17 10:07:57 | 显示全部楼层
没错,libxml2挺好的,多字节支持没问题.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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