`
happmaoo
  • 浏览: 4506208 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

[wbxml]使用Perl封装的WBXML的方法

阅读更多
<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

利用PerlXML::WBXML

就可以执行XMLWBXML(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 JehanneC++编写的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.hwbxml_parser.h等复制到Perl\lib\XML文件夹下,因为编译时需要这些wbxml的头文件。

第五步:

perl编译出WBXML.DLL之后,要将

libwbxml2.dlllibexpat.dll放在Perl\lib\XML\blib\arch\auto\XML\WBXML文件夹下。




分享到:
评论

相关推荐

    xml wbxml 转换工具

    7. **兼容性问题**:由于不同的设备和平台可能使用不同版本的WBXML规范,转换工具需要确保与各种标准和实现的兼容性。 wbxml2-0.9.0:这是一个可能的库或工具名称,用于执行XML到WBXML的转换。它可能是用特定编程...

    wbxml decoder

    - **编码表(Code Tables)**: WBXML文档使用一组编码表,将XML元素、属性和值映射为二进制代码。编码表可以是预定义的,也可以根据需要动态加载。 - **公共字符串表(Public String Table)**: 存储公共的字符串...

    wbxml2.0解析

    wbxml2.0解析,这是一个wbxml,二进制wml格式网页的解析软件,需要自己编译。

    WBXML规范:Binary XML Content Format Specification

    - **元素和属性**:WBXML使用特定的编码方案来表示XML文档中的元素和属性。例如,通过预先定义的索引表来查找元素和属性的名称。 - **数据类型**:WBXML支持多种数据类型,包括字符串、整数、日期等,并为每种类型...

    WAP-192-WBXML-20010725-a.rar_WAP 192_WAP PUSH WBXML_WAP-192-WBXM

    无线应用协议(Wireless Application Protocol,WA P)是WA P论坛经过不断努力得到的成 果,它提供了一个业界技术规范,以便开发出适用于各种无线通信网络的应用和业务。WA P 论坛的工作范围就是为各种业务和应用...

    test_xml.zip_application_file test_test_wml_wbxml

    XML(eXtensible Markup Language)是一种用于标记数据的语言,广泛应用在互联网上,特别是在数据...对于“test_xml.zip”,分析和理解这两个子文件的内容将有助于深入理解XML在WML和WBXML环境中的工作原理和测试方法。

    WBXML Library-开源

    1. **WBXML解析器**:类似于SAX(Simple API for XML)的接口,提供了一种事件驱动的解析方法。解析器逐个处理输入的WBXML数据,触发一系列事件,如开始元素、结束元素等,用户可以注册回调函数来处理这些事件,而...

    WBXML库:用于处理WBXML(无线二进制XML)文档的C库-开源

    作为开源软件,WBXML库遵循特定的许可协议,允许开发者自由使用、修改和分发代码。这为开发人员提供了透明度,可以查看和理解库的工作原理,以及根据项目需求进行定制。开源社区还常常会提供持续的支持和更新,以...

    wbxml-stream:WBXML格式的Java StAX实现。-开源

    wbxml-stream库是WBXML格式的Java StAX实现。 StAX-XML的流API是JavaSE内部用于解析XML文档的标准API。 WBXML-WAP二进制XML是XML的二进制表示形式,... 换句话说,wbxml-stream库允许Java使用StAX解析和编码WBXML文档。

    Streaming WBXML Parser-开源

    Streaming WBXML Parser 是一个 C++ 库,能够通过 Push 或 Pull 方式解析 WBXML 流并生成 WBXML。 解析接口基于 SAX 1.0。 该实现立即处理每个传入字节而无需缓冲

    Wbxml Parser for SYNCML 1.2-开源

    Wbxml解析器是用于SYNCML 1.2的工具,用于解析跟踪日志(例如02 00 00 6A ..),您可以将wbxml文件拖放到其中。 它目前支持SYNCML 1.2。 仅当您将跟踪日志复制并粘贴到WBXML FILE时,它才会在数据文件夹中创建WBXML ...

    jWAP-1.2.zip_it_jwap_wap 1.2_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 &gt;= 1.2.

    C#中的WBXML支持-方便

    1. "WBXML-Support-in-C-Handy.pdf":这可能是一份详细的文档或教程,介绍了如何在C#中使用WBXML的支持,包括可能的API介绍、使用示例和最佳实践。 2. "WBXMLDemo.zip":这可能包含一个演示项目或源代码,展示了如何...

    WAPPUSH 代码

    2. **封装与编码**:将WBXML文档封装在CMPP的提交请求消息中,通常还包括目标手机号码、服务代码等信息。 3. **发送**:通过CMPP协议将封装后的消息发送到中国移动的网关。 4. **接收**:中国移动的网关接收到消息后...

    C#实现wap push发送

    `GenerateWbxml`方法需要实现将文本消息转换为WAP Binary XML(WBXML)格式,因为WAP Push通常使用这种压缩且节省空间的格式传输数据。 wbxmlData 是根据WAP WBXML规范生成的二进制数据,这部分实现较为复杂,涉及...

    libwbxml:WBXML库-开源

    libwbxml是用于编码和解码WBXML(WAP二进制XML)的库。

    push短信格式说明

    * WBXML:是指短信的内容格式,例如 WBXML 版本 1.2。 * UTF-8:是指短信的编码格式,例如 UTF-8。 WBXML 详解 WBXML 是一种基于 XML 的标记语言,用于描述短信的内容。WBXML 版本 1.2 是当前最常用的版本。 * ...

    wap push 源码

    它可能会封装WAP Push协议的相关逻辑,包括构建推送消息的结构,如WSP(无线会话协议)头和WBXML(无线二进制XML)编码的数据,以及发送这些消息到目标设备的逻辑。 3. **HexDecoder.cs**: 这个文件可能包含了一个...

    去除5220照相功能适用于大部分手机

    这个方法适用于大部分使用相同操作系统的诺基亚手机,主要是针对国行(中国内地版本)5220无法关闭拍照声音的问题。以下是详细的步骤和涉及的知识点: 1. **诺基亚5220手机**:这是一款运行Symbian S40操作系统的...

    电信设备-实现移动通信终端通过拨号登录WAP网站的装置和方法.zip

    6. **数据压缩与优化**:为了适应低带宽环境,WAP使用了压缩和优化技术,如WML(Wireless Markup Language)代替HTML,以及WBXML(Wireless Binary XML)来减少数据传输量。 7. **安全考虑**:拨号连接可能涉及SIM...

Global site tag (gtag.js) - Google Analytics