开发某项目时,需要解析某第三方软件生成的xml文件,本来使用的是tinyxml2,毕竟只有一个.h和一个.cpp文件,使用也很方便,但是在解析的时候,程序返回解析失败,经验告诉我,可能时文件编码的问题,随即查看了一下生成的xml文件编码格式,果然是UTF-16 LE,将文件转换成UTF-8就没有问题,成功解析。
本来想使用iconv来动态进行文件转码,在生成xml的时候将文件再转换成UTF-8编码,但是总觉得这种方式不太完美,随机又找了一下其他xml解析库,找到了libxml2这个库,查看文档时,看到libxml2依赖iconv,就猜想到了,这个库肯定支持不同编码格式的xml文件,随机写了demo测试,果然没问题,代码设计业务代码不方便透露,所以只简单说一下关于libxml2的基本使用方式和注意事项
下载libxm2 Windows版
下载地址:libxml2下载
- iconv-1.9.2.win32.zip
- libxml2-2.7.8.win32.zip
- zlib-1.2.5.win32.zip
下载这三个zip,libxml2依赖iconv和zlib