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

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

Stack Overflow用户
提问于 2009-05-08 14: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-10 21:11:31

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

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

票数 4
EN

Stack Overflow用户

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

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

票数 2
EN

Stack Overflow用户

发布于 2009-05-08 16: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

复制
相关文章
冲突和谈判的处理原则
----------------------------------------------------------------------------
PM吃瓜
2023/03/02
1950
冲突和谈判的处理原则
0xC000005读取发生访问冲突_vs读取访问权限冲突
大家好,又见面了,我是你们的朋友全栈君。 遇见这种问题一般都是空指针,即:指针里没有赋值~
全栈程序员站长
2022/11/10
1.1K0
Symfony 服务容器:使用 XML 或 YAML 文件描述服务
本文是依赖注入(Depeendency Injection)系列教程的第 5 篇文章,本系列教程主要讲解如何使用 PHP 实现一个轻量级服务容器,教程包括:
柳公子
2018/09/17
1.8K0
nginx配置Symfony
server { listen 80; server_name blog.phpfs.com; root /data/web; rewrite ^/a
苦咖啡
2018/04/28
1.7K0
Symfony是什么
众所周知前面有说到PHP的七大框架,接下来就来说说Symfony框架,希望说的对大家有所帮助。
叫我可儿呀
2019/11/26
2.1K0
Symfony是什么
Symfony 服务容器入门
本文是依赖注入(Depeendency Injection)系列教程的第 3 篇文章,本系列教程主要讲解如何使用 PHP 实现一个轻量级服务容器,教程包括:
柳公子
2018/09/17
3.4K0
Symfony 3 框架+Elasticsearch
目录src/AppBundle/Controller/SearchController.php
Stanley Sun
2019/09/23
7920
C/C++ 遇到0xcccccccc访问冲突
最近一直在纠结这个问题. 最近写代码,总是遇到这个问题,一旦遇到这个问题,以前好使的代码也就不好使了。很费解,上网搜集了下资料.... 这个0xcccccccc是DEBUG模式下,编译器为没有初始化的
用户1154259
2018/01/17
1.4K0
C/C++ 遇到0xcccccccc访问冲突
Ubuntu配置Symfony环境
1、装好ubuntu使用 sudo passwd root 设置root密码 2、安装ssh sudo apt-get install openssh-server 3、ssh连接进行安装LAMP环境 启动ssh服务 /etc/init.d/ssh start 4、修改ssh连接乱码 进入系统后 sudo vim /etc/environment LANG=”zh_CN.UTF-8″ LANGUAGE=”zh_CN:zh” 修改为 LANG=”en_GB.UTF-8″ LANGUAGE=”en_US:en”
苦咖啡
2018/05/07
2K0
ExecuteReader报错,语法错误
最后,到处查找解决方案,终于在论坛见到了大神的一句:“你输入的是中文字符的空格!”
全栈程序员站长
2022/08/28
8810
ExecuteReader报错,语法错误
php使用Symfony EventDispatcher 组件
大家好,这篇文章将通过我在实际开发工作中的例子,来介绍Symfony的EventDispatcher组件的使用及实现原理。
OwenZhang
2021/12/08
2.1K0
Symfony 服务容器性能优化
本文是依赖注入(Depeendency Injection)系列教程的最后一篇文章,本系列教程主要讲解如何使用 PHP 实现一个轻量级服务容器,教程包括:
柳公子
2018/09/17
3.1K0
Symfony 服务容器性能优化
GitHub无法访问或访问缓慢解决办法
缘由 由于众所周知的原因,Github最近无法访问或访问很慢。 由于Github支持https,因此此次屏蔽Github采用的方法是dns污染,用户访问github会返回一个错误的IP 翻墙当然是一种解决办法了,但总感觉不是很爽 临时解决办法 在终端执行指令sudo vi /etc/hosts打开hosts文件进行编辑 插入如下内容,保存退出即可! # github 204.232.175.78 http://documentcloud.github.com 207.97.227.239 http://gi
xiangzhihong
2018/02/05
8.9K1
撸个 symfony4(一)
最近在看symfony,发现laravel里面也引用了这个框架,国内关于symfony的资料不是很多,但是体验了以下之后,感觉还是不错的,所以记录下踩坑之旅。这是[官方文档](https://symfony.com)
仇诺伊
2020/04/24
4530
撸个 symfony4(一)
【CSS】CSS 特性 ① ( CSS 层叠性 | 样式冲突 | 就近原则选择样式 )
如果有 两个相同类型 的 CSS 样式 作用在了 同一个 标签 上 , 那么就出现了 样式冲突 ,
韩曙亮
2023/03/30
2.2K0
【CSS】CSS 特性 ① ( CSS 层叠性 | 样式冲突 | 就近原则选择样式 )
如何在Ubuntu 18.04上使用LEMP将Symfony 4应用程序部署到生产中
Symfony是一个开源PHP框架,具有优雅的结构和声誉,无论其大小如何,都是一个适合启动任何项目的框架。作为一组可重用的组件,其灵活性,体系结构和高性能使其成为构建高度复杂的企业应用程序的首选。
小皇帝James
2018/11/15
4.8K0
Tomcat配置域名、ip访问及解决80端口冲突
1.先在tomcat下的conf下找到server.xml文件,用记事本打开后,首先对端口号进行修改,以前一直以为8080是默认的端口号,其实默认的端口号是80
sunonzj
2022/06/21
5.4K0
撸个 symfony4(二)
目标其实是完成如下的需求,如果有想看源码的,可以看下sf官网出的一个demo。
仇诺伊
2020/04/24
2.4K0
撸个 symfony4(二)
Nginx屏蔽或禁止指定来源网站访问
在nginx.conf的server配置项中加入 1.访问返回403 if ($http_referer ~* "xxx.com") { return 403; } 2.访问跳转指定网站 if ($http_referer ~* "xxx.com") { rewrite ^/ http://www.xxx.com/; } 3.禁止多域名 if ($http_referer ~* "xxx.com|aaa.com") { rewrite ^/ http://www.xxx.com/; }
Z4
2020/04/21
3.2K0
点击加载更多

相似问题

原则错误:语法错误或访问冲突: 10649

11

Symfony返回“语法错误或访问冲突”

13

Symfony DBAL插入:“语法错误或访问冲突: 1064”

10

Symfony和MySQL中的“语法错误或访问冲突: 1142”

11

语法错误或访问冲突

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文