linux下读写xml文件 您所在的位置:网站首页 xml文件打开空白 linux下读写xml文件

linux下读写xml文件

2023-08-19 02:52| 来源: 网络整理| 查看: 265

linux下读写xml文件

说明:由于linux开发板有些系统配置文件是xml文件,所以需要简单的修改xml中的元素内容,于是在网上找开源的xml读写库。

mini-xml一个简单的xml读写库,优点是小,方便。 下载地址:https://www.msweet.org/mxml/ 此文章基于Mini-XML 3.1版本

具体移植步骤如下:

1、将下载后的压缩包在linux下执行"tar -zxvf mxml-3.1.tar.gz"命令进行解压缩; 2、进入mxml-3.1目录下执行"./configure --prefix=/home/ulinux/mxml-3.1/local --host=arm-linux"; 3、第2步执行完成后会在mxml-3.1目录下生产一个Makefile文件,执行make,再执行make install即可; 4、在/home/ulinux/mxml-3.1/local目录下即有lib、include和share三个文件夹,相关文件即在其中;

注意: a.如果是想在32位linux开发板上使用mxml,则需要修改Makefile,并且需要编译环境下有交叉编译工具链; 否则使用默认环境及编译工具只能生成当前环境下可用的库文件,切记切记; b.Makefile中按照目标环境,修改AR、CC、RANLIB即可; c.交叉编译工具所在路径需要导入到环境变量中;

具体测试代码如下(linux虚拟机下测试)

int main(void) { int fd = 0; char ip[]="192.168.1.1"; mxml_node_t *tree = NULL, *node = NULL; fd = open("./mobileap_cfg.xml", O_RDWR | O_CREAT,0666); if(fd < 0) { printf("open mobileap_cfg.xml error"); } /*MXML_OPAQUE_CALLBACK选项,直接读原始字符串,不按照空格来区分元素*/ tree = mxmlLoadFd(NULL, fd, MXML_OPAQUE_CALLBACK); if(tree == NULL) { printf("mxmlLoadFd error"); } node = mxmlFindElement(tree, tree, "APIPAddr", NULL, NULL, MXML_DESCEND); if(node == NULL) { printf("mxmlFindElement error"); } if(strcmp(node->child->value.opaque, ip) != 0) { int ret = mxmlSetOpaque(node->child, ip); lseek(fd,0,SEEK_SET); ret = mxmlSaveFd(tree,fd, MXML_NO_CALLBACK); printf("ip set complete, ret=%d", ret); } close(fd); mxmlDelete(tree); }

友情链接: a.mxml中文文档:https://blog.csdn.net/bluesonic/article/details/3887143;

mobileap_cfg.xml文件内容如下:

/etc/data/mobileap_firewall.xml 200 30 3600 60 0.0.0.0 1 1 1 0 /etc/data/qti_socksv5_conf.xml /etc/data/qti_socksv5_auth.xml 0 SYM 0 1 0 1 1 mobileap.qualcomm.com AP 1 0 /etc/misc/wifi/hostapd.conf /data/entropy_file /etc/misc/wifi/sta_mode_hostapd.conf 192.168.0.50 255.255.255.0 1 192.168.0.90 192.168.0.130 43200 0 -1 0 0 /etc/misc/wifi/hostapd-wlan1.conf /data/entropy_file1 INTERNETONLY /etc/misc/wifi/hostapd-wlan2.conf /data/entropy_file2 INTERNETONLY /etc/misc/wifi/hostapd-wlan3.conf /data/entropy_file3 INTERNETONLY /etc/misc/wifi/wpa_supplicant.conf 1 0 0 0 0 0 /data/mobileap_eri_config.bin bt-pan eth usb_cradle wlan wwan 1 0 1 ANY 15 15 15 15 FQDN abcd.com 0 0 0 0 0 0 members.dyndns.org dyndns2 user_defined user_defined mobileap.dyndns.org 60 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 6 :: 0 6 0 0 0 0 -1 -1


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有