嵌入式linux如何处理XML文档

LinuxInEmbedded 2014-01-10 03:47:50
加精
如题,现在需要和pc端的ocx控件通讯,对方用的是xml文档,我用什么库来接收处理xml文档?如何生成xml文档并发送给对方?
...全文
4288 45 打赏 收藏 转发到动态 举报
写回复
用AI写文章
45 条回复
切换为时间正序
请发表友善的回复…
发表回复
itachi777 2014-02-20
  • 打赏
  • 举报
回复
楊松坤 2014-02-19
  • 打赏
  • 举报
回复
占位子QQ:125004485
LinuxInEmbedded 2014-02-17
  • 打赏
  • 举报
回复
引用 34 楼 max_min_ 的回复:
gsoap通过wsdl文件来生成代码框架的啊! 如果要实现onvif协议的话,那就直接用它们的好了!不需要自己组建和解析! 只需要填充就好! onvif代码生成 这个系列文章可以看看
大致看了你关于onvif的文章,能不能指点下如何理解每一个变量及函数的意义?比如:soap_recv___wsdd__ProbeMatches,__LINE__等?生成代码框架后如何去完成各个函数?根据注释来完成函数的功能吗?还有全局变量,如何判断它的意义呢》?
beyondcj 2014-02-15
  • 打赏
  • 举报
回复
chen870201 2014-02-10
  • 打赏
  • 举报
回复
XML相关的,现在应该挺成熟了
haitao 2014-02-10
  • 打赏
  • 举报
回复
如果能重新订协议,应该以ini(key=value)取代xml(或json) 因为后两者的解析开销比ini大多了。。。。
nettman 2014-02-10
  • 打赏
  • 举报
回复
max_min_ 2014-02-10
  • 打赏
  • 举报
回复
gsoap通过wsdl文件来生成代码框架的啊! 如果要实现onvif协议的话,那就直接用它们的好了!不需要自己组建和解析! 只需要填充就好! onvif代码生成 这个系列文章可以看看
xusir98 2014-02-10
  • 打赏
  • 举报
回复
大道曙光 2014-02-10
  • 打赏
  • 举报
回复
引用 28 楼 clever101 的回复:
以前觉得tinyxml也是一个挺好的操作xml文件的库。最近找到了pugixml库,发现pugixml库对tinyxml可谓是全面胜出。 一.支持字符集:tinyxml不支持unicode(这个可谓是很多人不愿意用tinyxml的原因之一),pugixml支持UTF8 encoding、Little-endian UTF16、Big-endian UTF16、UTF16 with native endianness、Little-endianUTF32、Big-endian UTF32和UTF32with native endianness。 二.操作xml文件的性能。 Xml库解析性能比较表 参考文献: 1.pugixml简介
去年写一个小工具的时候就用到了pugixml。确实挺赞的!当时就是从你的博客中知道这个库的。http://download.csdn.net/detail/mayadong7349/5627643
nadleeh 2014-02-10
  • 打赏
  • 举报
回复
引用 5 楼 ShenDuYouLan 的回复:
另外请教下有支持http的库吗
clever101 2014-02-10
  • 打赏
  • 举报
回复
楼主,用socket不行吗?
laowang2 2014-02-10
  • 打赏
  • 举报
回复
还是gsoap方便,你需要的不是xml解析库。
1215963324 2014-02-10
  • 打赏
  • 举报
回复
好像和我的问题不太一致
谭海燕 2014-02-09
  • 打赏
  • 举报
回复
引用 28 楼 clever101 的回复:
以前觉得tinyxml也是一个挺好的操作xml文件的库。最近找到了pugixml库,发现pugixml库对tinyxml可谓是全面胜出。 一.支持字符集:tinyxml不支持unicode(这个可谓是很多人不愿意用tinyxml的原因之一),pugixml支持UTF8 encoding、Little-endian UTF16、Big-endian UTF16、UTF16 with native endianness、Little-endianUTF32、Big-endian UTF32和UTF32with native endianness。 二.操作xml文件的性能。 Xml库解析性能比较表 参考文献: 1.pugixml简介
好东西。改天弄个玩玩。
clever101 2014-02-09
  • 打赏
  • 举报
回复
以前觉得tinyxml也是一个挺好的操作xml文件的库。最近找到了pugixml库,发现pugixml库对tinyxml可谓是全面胜出。



一.支持字符集:tinyxml不支持unicode(这个可谓是很多人不愿意用tinyxml的原因之一),pugixml支持UTF8 encoding、Little-endian UTF16、Big-endian UTF16、UTF16 with native endianness、Little-endianUTF32、Big-endian UTF32和UTF32with native endianness。



二.操作xml文件的性能。

Xml库解析性能比较表


参考文献:

1.pugixml简介
u013622239 2014-02-09
  • 打赏
  • 举报
回复
谭海燕 2014-02-09
  • 打赏
  • 举报
回复
WSDL ,gSOAP我没使用过,没办法跟你做解答。我帮你推荐到首页,看看有没有其他人熟悉的。
LinuxInEmbedded 2014-02-08
  • 打赏
  • 举报
回复
引用 23 楼 feiyinzilgd 的回复:
[quote=引用 22 楼 ShenDuYouLan 的回复:] 另外请教一下楼上各位自己在嵌入式项目里使用xml是哪种情况?为什么要使用xml而不使用16进制自定义协议呢?原来我做嵌入式需要和pc或者其它终端通讯都是基于自定义协议的,没有xml什么的。。。。
使用xml是有原因的,xml的特性,使得使用xml表示数据更方便,而且跨平台,各种平台都有xml解析器。 xml一般都是用在需要跟第三方socket或者USB等等通信的时候用到。自己写的程序内部,很少用到xml。 因为有时候第三方接口没办法添加你自己设计的二进制接口的解析,使用xml就不需要写额外的解析器。 简单的数据格式,使用16进制还可以,但是比较复杂的,数据结构的属性多而且有时候还不固定,这样使用 xml就比较方便。 你所见到的手机助手,PC段跟手机端通信,有些软件内部就是使用的xml格式的数据。[/quote]非常感谢楼上解析,很清楚,很专业,麻烦能不能帮忙看下21楼的问题,关于wsdl的。。
谭海燕 2014-02-08
  • 打赏
  • 举报
回复
引用 22 楼 ShenDuYouLan 的回复:
另外请教一下楼上各位自己在嵌入式项目里使用xml是哪种情况?为什么要使用xml而不使用16进制自定义协议呢?原来我做嵌入式需要和pc或者其它终端通讯都是基于自定义协议的,没有xml什么的。。。。
使用xml是有原因的,xml的特性,使得使用xml表示数据更方便,而且跨平台,各种平台都有xml解析器。 xml一般都是用在需要跟第三方socket或者USB等等通信的时候用到。自己写的程序内部,很少用到xml。 因为有时候第三方接口没办法添加你自己设计的二进制接口的解析,使用xml就不需要写额外的解析器。 简单的数据格式,使用16进制还可以,但是比较复杂的,数据结构的属性多而且有时候还不固定,这样使用 xml就比较方便。 你所见到的手机助手,PC段跟手机端通信,有些软件内部就是使用的xml格式的数据。
加载更多回复(22)
学员在中科院学习期间独立完成制作ARM开发板、开发触摸屏驱动等36个嵌入式专题实验项目,1-3个大型项目。其他实验项目如:智能机器人等可在结业后完成。 教学周期:10个月,其中第一学期3个月,第二学期5个月,课程实训2个月。 课程编号 教学单元 教学内容 就业岗位 第一学期 教学课时3个月 ZKQ090101 网络原理及linux服务 网络概述;数据通信基础;网络体系结构与协议;局域网;网络互联与TCP/IP协议;Internet及其应用;网络连接设备与技术 •Linux下C开发人员 •面向C嵌入式开发人员 ZKQ090102 Linux安装 正确安装Linux操作系统 ZKQ090103 Linux 开发环境与应用程序设计 Linux C 编程基础,gdb调式器,Makefile文件概述;Linux系统调用原理;基于系统调用的文件I/O操作;文件上锁,程序机制与功能,特殊文件的操作;串口编程,串口通信的实现;Linux多线程编程 ZKQ090104 嵌入式Linux系统基础 Linux的进程管理,特殊进程的操作;Linux进程间的通信(一):管道通信;Linux进程间的通信(二):信号;Linux进程间的通信(三):消息队列与共享内存 ZKQ090105 FPGA1/CPLD EDA技术简介以及CPLD/FPGA 基础知识,QuartusII软件入门;硬件描述语言( VHDL)基本语法和实践;硬件描述语言( Verilog HDL)基本语法和实践;FPGA实验、DSP入门;Altium Designer 6.x电路原理图与PCB设计 ZKQ090106 Linux内核裁剪与移植 嵌入式简介;Linux 基础知识;交叉编译;Linux 内核配置;Linux 内核移植;根文件系统制作;Boot Loader 制作。 第二学期 教学课时5个月 ZKQ090201 基于ARM7开发平台设计 ARM技术简介以及基础知识,ARM应用入门;ARM启动代码分析、链接脚本讲解;μC/OS II V2.85在ARM的移植;μC/OS II内核精讲;ARM经典实验。 •高级嵌入式开发工程师 •Linux设备驱动开发工程师 •嵌入式系统工程师 •嵌入式技术支持工程师 •嵌入式软件开发工程师 •嵌入式硬件开发工程师 •ARM平台嵌入式开发工程师 ZKQ090202 基于ARM9开发平台设计 嵌入式linux开发平台简介及开发流程;嵌入式Linux开发环境的建立;多线程应用程序设计;串行端口程序设计;A/D接口实验;D/A接口实验;简单的嵌入式WEB服务器实验;RS-485通讯实验;直流与步进电机实验;内核驱动设计入门――模块方式驱动实验;内核驱动设计实验――触摸屏驱动;内核驱动设计――网卡驱动移植及实验;内核驱动设计――LCD驱动移植;音频驱动及实应用实验;USB接口试验 ZKQ090203 FPGA2/SOPC 基于NIOSII嵌入式处理器的SOPC(可编程片上系统)系统的开发基础和设计技巧以及FPGA最小系统设计方法;SOPC实验。 ZKQ090204 Linux网络编程 Socket 套接字(TCP、UDP);原始套接字;多进程、多进程网络编程 ZKQ090205 TCP/IP协议编程 TCP/IP协议分析;构造数据包。 ZKQ090206 C++QT图形编程 Qt开发环境安装与配置;C++面向对象基础;Qt内置组件应用与自定义组件开发;Qt信号与槽机制;Qt模型应用(树、表、栈);Qt多线程与网络;Qt图形开发;Qt内置数据仓库技术(mysql、sqlite);Qt解析XML。 ZKQ090207 嵌入式Linux系统原理 Linux内核简介;进程管理及调度;中断及中断处理程序;下半部和工作队列;内核同步方法;定时器和时间管理;内存管理;进程地址空间;内核调试技术;内核可移植性概述。 ZKQ090208 嵌入式Linux驱动开发 设备驱动及内核模块概述;构造和运行模块;编写字符设备驱动程序I;编写字符设备驱动程序II;高级字符驱动程序;与硬件通信;中断处理Linux设备模型;内存映射操作;DMA技术及应用;块设备驱动程序;网络设备驱动程序;贞缓冲设备驱动;PCI设备驱动程序;USB驱动程序。 课程实训 实训课时2个月 3-5名学员组成一个项目小组,项目自选,项目小组提交项目报告,经审核同意后拨付项目经费,在项目指导教师指导下项目实施,项目完成应有成型产品,组织召开项目完成报告会,项目小组提交项目完成报告书,项目结束。

23,110

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧