<iframe align="center" marginwidth="0" marginheight="0" src="http://www.zealware.com/csdnblog336280.html" frameborder="0" width="336" scrolling="no" height="280"></iframe>
使用Perl封装的WBXML的方法
编写者
|
日期
|
关键词
|
郑昀@ultrapower
|
2005-9-20
|
WBXML XML Perl
|
利用Perl库XML::WBXML,
就可以执行XML和WBXML(Wap Binary XML)之间的自由转换了:
use XML::WBXML;
$wbxml = XML::WBXML::xml_to_wbxml($xml);
$xml = XML::WBXML::wbxml_to_xml($wbxml);
下面我说一下如何编译这个包。
第一步:
到http://libwbxml.aymerick.com/download.php下载Aymerick Jehanne用C++编写的DLL库
WBXML Library v0.9.0 (download)
第二步:
到http://search.cpan.org/dist/XML-WBXML/lib/XML/WBXML.pm
下载
XML-WBXML-0.02.tar.gz
,这是Perl封装libwbxml2.dll的库。
第三步:
在编译XML-WBXML之前,你必须先修改XML-WBXML-0.02.tar.gz中的Makefile.pl,因为原先它没有指定要link外部的lib。否则当你make时将看到这样的错误:
编译错误:
|
正在创建库 blib/arch/auto/XML/WBXML/WBXML.lib 和对象
blib/arch/auto/XML/WBXML/WBXML.exp
WBXML.obj : error LNK2019: 无法解析的外部符号 _wbxml_conv_xml2wbxml@16 ,该符号
在函数 _XS_XML__WBXML_xml_to_wbxml 中被引用
WBXML.obj : error LNK2019: 无法解析的外部符号 _wbxml_conv_wbxml2xml@16 ,该符号
在函数 _XS_XML__WBXML_wbxml_to_xml 中被引用
blib/arch/auto/XML/WBXML/WBXML.dll : fatal error LNK1120: 2 个无法解析的外部命令
NMAKE : fatal error U1077: “link” : 返回代码“0x460”
|
所以,必须加入“MYEXTLIB => 'libwbxml2.lib'”的编译选项:
Makefile.PL:
|
use 5.008003;
use ExtUtils::MakeMaker;
# See lib/ExtUtils/MakeMaker.pm for details of how to influence
# the contents of the Makefile that is written.
WriteMakefile(
NAME => 'XML::WBXML',
VERSION_FROM => 'lib/XML/WBXML.pm', # finds $VERSION
PREREQ_PM => {}, # e.g., Module::Name => 1.1
ABSTRACT_FROM => 'lib/XML/WBXML.pm', # retrieve abstract from module
AUTHOR => 'David Glasser <glasser>',<p></p></glasser>
LIBS => ['-lwbxml2'], # e.g., '-lm'
DEFINE => '', # e.g., '-DHAVE_SOMETHING'
INC => '-I.', # e.g., '-I. -I/usr/include/other'
# Un-comment this if you add C files to link with later:
#add begin
MYEXTLIB => 'libwbxml2.lib',
# OBJECT => '$(O_FILES)', # link all the C files too
);
|
第四步:
为了拿到libwbxml2.lib,你必须编译WBXML Library v0.9.0源代码,从而得到这个lib。
并将源代码中的头文件如wbxml.h、wbxml_parser.h等复制到Perl/lib/XML文件夹下,因为编译时需要这些wbxml的头文件。
第五步:
在perl编译出WBXML.DLL之后,要将
libwbxml2.dll和libexpat.dll放在Perl/lib/XML/blib/arch/auto/XML/WBXML文件夹下。
分享到:
相关推荐
wbxml2.0解析,这是一个wbxml,二进制wml格式网页的解析软件,需要自己编译。
xml wbxml convert xml 文本格式与二进制格式转换源代码
wbxml(二进制 XML)decoder 解密示例工程,开发邮件APP需要参考。
无线应用协议(Wireless Application Protocol,WA P)是WA P论坛经过不断努力得到的成 果,它提供了一个业界技术规范,以便开发出适用于各种无线通信网络的应用和业务。WA P 论坛的工作范围就是为各种业务和应用...
wbxml-stream库是WBXML格式的Java StAX实现。 StAX-XML的流API是JavaSE内部用于解析XML文档的标准API。 WBXML-WAP二进制XML是XML的二进制表示形式,... 换句话说,wbxml-stream库允许Java使用StAX解析和编码WBXML文档。
WBXML库是用于处理WBXML(无线二进制XML)文档的C库。 它由WBXML解析器(具有类似SAX的接口),通用WBXML编码器和文档的内部表示(WBXMLTree)组成。
WBXML的完整规范文档。 如果你正在开发WAP相关的,或者其他手机上的应用,可以参考该规范。
Streaming WBXML Parser 是一个 C++ 库,能够通过 Push 或 Pull 方式解析 WBXML 流并生成 WBXML。 解析接口基于 SAX 1.0。 该实现立即处理每个传入字节而无需缓冲
xml test file for wbxml application
Wbxml解析器是用于SYNCML 1.2的工具,用于解析跟踪日志(例如02 00 00 6A ..),您可以将wbxml文件拖放到其中。 它目前支持SYNCML 1.2。 仅当您将跟踪日志复制并粘贴到WBXML FILE时,它才会在数据文件夹中创建WBXML ...
jWAP is a Java implementation of the Wireless Application Protocol (WAP). It includes Wireless ... Additionally, jWAP contains a WAP Binary XML (WBXML) Parser/Generator. jWAP requires Java V >= 1.2.
WBXML库是用于处理WBXML(无线二进制XML)文档的C库。 它由WBXML解析器(具有类似SAX的接口),通用WBXML编码器和文档的内部表示(WBXMLTree)组成。
此包是 kxml包的源码文件。将包解压后 将其org文件夹拷贝到项目的src文件夹即可引用。
libwbxml是用于编码和解码WBXML(WAP二进制XML)的库。
开源类,用于处理C#和CF C#中的WAP二进制XML
RTK 是一个比较成熟的产品,可以在 Windows 平台和 Linux 平台上编译。...它支持 XML 和 WBXML 编码,还支持 HTTP(用于 Web 上的同步)、WSP(在 WAP 上使用)和 OBEX(在 IrDA 或蓝牙上使用)传输。
将xml格式数据转换为uft8编码的xml数据,主要用于接口测试时,传递xml数据时,需要uft-8格式的xml数据,方便于测试人员的一个小工具
WAPPUSH代码,通过CMPP协议发送WBXML格式的WAPPUSH LINK到中国移动的手机上。详细请见我的BLOG:blog.csdn.net/cutemouse
OTA配置的XML格式和对应的WBXML文档格式说明,支持GPRS配置,主页配置,书签配置,同步配置,文档中有对应的XML和WBXML示例,可参照这些示例完成实际手机OTA配置的开发。
pysyncml库是SyncML适配器框架和协议的纯python实现。