matlab 修改xml文件的属性
来源:互联网 发布:影像医疗软件代理 编辑:程序博客网 时间:2024/06/01 07:27
本人不懂xml,经过别人帮助写出下面的程序,能用,有的地方可能我注释的不对
假设这是我们要修改的第一个xml文件,这里我们把<pose>的值 Unspecified 改成 <filename>值n02109961_1351的前9个字符n02109961
即 把Unspecified 改成n02109961
clc;
clear;
path = '/home/zc/py/data/VOCdevkit2007/VOC2007/Annotations'; %读取路径
path2 = '/home/zc/py/data/VOCdevkit2007/VOC2007/Annotations2'; %保存路径
str1 = strcat(path,'/','*.xml'); % 文件夹下的所有xml 文件
dirs = dir(str1);
n = size(dirs); %xml文件总数
for m = 1:n
name = dirs(m).name; %xml文件名
str2 = [path,'/',name];
str3 = [path2,'/',name];
xmlDoc = xmlread(str2); % 读取文件
%% Extract ID
IDArray = xmlDoc.getElementsByTagName('filename'); % 将 filename 节点放入数组IDArray
nodeContent = char(IDArray.item(0).getFirstChild.getData) % 提取当前节点的内容,即n02109961_1351
a = nodeContent(1:9); %取前九个字符 即 n02109961
%% extract the FDs
FDsArray = xmlDoc.getElementsByTagName('object'); % 将object 节点放入数组FDsArray
for i = 0 : FDsArray.getLength-1
thisItem = FDsArray.item(i); % 指向object
childNode = thisItem.getFirstChild ;
childNode = childNode.getNextSibling; % 指向name
childNode = childNode.getNextSibling; % 指向pose
childNodeNm = char(childNode.getTagName) % % 当前节点的名字,即pose
childNodeData = char(childNode.getFirstChild.getData) % 当前节点的内容,即Unspecified
childNode.setTextContent(a); % 把这个内容改成我们想要的
end
xmlwrite(str3,xmlDoc); %保存
end
- matlab 修改xml文件的属性
- 修改xml文件的节点属性
- 修改XML文件的节点属性值
- XML修改节点属性及写入文件
- IDEA中文xml文件只读属性修改
- VOC-xml标注文件制作及其交互使用(修改,预览,存储)的MATLAB实现
- 批量修改mat文件中MATLAB mpt数据对象属性
- 修改文件的隐藏属性
- 文件其他属性的修改
- 修改大的XML文件
- Java xml节点属性的修改
- java修改xml的指定属性
- Qt中使用DOM对XML文件的标签属性进行修改
- 修改eclipse中xml文件里面的属性值为非斜体字
- MATLAB中批量修改文件的名字
- 修改Matlab同m文件的关联
- 一个MATLAB 写xml 文件的例子
- matlab生成opencv需要的xml文件
- 得到最新Github第三方库jar包,适用于Ecplise
- 垃圾回收基础
- 深入浅出Mybatis系列(十)---SQL执行流程分析(源码篇)
- s:textfield日期不显示时分秒
- GC的三大基础算法
- matlab 修改xml文件的属性
- ART虚拟机参数说明
- GC的三大高级算法
- 编译libRTMP(RTMPdump) For iOS
- 杭电2099-整除的尾数
- RobotFramework-数据库连接
- ListView嵌套GridView数据显示不完整解决方案
- linux 防火墙开启端口
- GC策略的评价指标