首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >XML到C结构和C结构到XML

XML到C结构和C结构到XML
EN

Stack Overflow用户
提问于 2009-05-08 22:57:00
回答 3查看 17.4K关注 0票数 7

我喜欢用C语言进行服务器端编程,但需要与一些XML进行互操作。

我需要编写的是一些函数,给定一个C结构或嵌套结构,以及另一个描述C结构中的元素的结构(或嵌套结构),将其转换为XML。另一个函数读取XML,验证它是否与C结构的描述匹配,并填充C结构。

我很确定以前已经做过很多次了,但是关于XML的其他信息太多了,所以我没有幸运地编写一个没有返回许多无关内容的Google查询。

我并不是在寻找一个库--只需要几百行C代码来解析XML。

EN

回答 3

Stack Overflow用户

发布于 2011-02-11 05:11:31

他并不是要一个XML解析器。他正在寻求一个能够自动将复杂的C结构序列化/反序列化到XML或从XML反序列化的库(这显然依赖于底层的XML解析器)。

Libpdel已经很旧了,但是支持你想做的事情(通过“结构”的东西)。

票数 4
EN

Stack Overflow用户

发布于 2009-05-08 23:10:51

如果找不到任何预制的库或代码,一种方法是像通常的toString()函数一样编写toXML()函数。然后是一个将XML反序列化为结构的toStruct(char*)

票数 2
EN

Stack Overflow用户

发布于 2009-05-09 00:58:40

一般情况下,仅用几百行代码是无法解析XML的。市面上有几个XML解析器库,其中expat就是其中之一。Expat是用C语言编写的,它有一个C友好的API。

如果您不对所支持的数据类型发疯,那么序列化可能会更容易。

无论哪种方式,让您头疼的地方都是维护struct布局和XML schema之间的对应关系。

您可能希望研究像SCEW这样的库,这些库旨在隐藏expat实现的事件驱动性质,并提供更像DOM树的东西。还有在expat之上实现SOAP的各种库,这些库必须处理进出XML包的数据的编组。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/842169

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档