一个文件夹下有很多个子文件夹每个子文件夹下面都有一个.xml文件,需要用MATLAB读取每个xml文件
mip版 关注:98 答案:1 悬赏:60
解决时间 2021-01-18 23:45
已解决
2021-01-18 10:39
读取这些xml文件的同一个节点的属性值。比如<?xml version="1.0" encoding="UTF-8"?>
Ice Cream Sundae
大神 我要读取大神中间那个大神。将每个xml文件的.节点的属读出来进行统计,看每种属性值各有多少个。小弟只能写出以下程序:
clc;
clear all;
maindir = 'C:\Users\HU\Desktop\我\1';
subdir = dir( maindir ); % 先确定子文件夹
for i = 1 : length( subdir )
if( isequal( subdir( i ).name, '.' ) || ...
isequal( subdir( i ).name, '..' ) || ...
~subdir( i ).isdir ) % 如果不是目录跳过
continue;
end
subdirpath = fullfile( maindir, subdir( i ).name, '*.xml' );
images = dir( subdirpath ); % 在这个子文件夹下找后缀为xml的文件
for j = 1 : length( images )
imagepath = fullfile( maindir, subdir( i ).name, images( j ).name );
P=imagepath;(输出xml文件路径)
end
end
(以上部分只能读出所有的xml文件名)
%**********具体读取某个xml文件里面的某个节点*******%
xDoc=xmlread('dirs.xml');%读取XML文件
xRoot=xDoc.getDocumentElement();%获取根节点,
% 获取节点
SysExceptInfo= xRoot.getElementsByTagName('SysExceptInfo').item(0);% 获取SysExceptInfo节点集合
% 获取文本内容,设置文本内容
SysExceptInfoContent=char(SysExceptInfo.getTextContent());
(以上部分只能读出一个xml文件的某个节点,所以,在知道这些文件名的情况下,怎么批量读那些xml文件的某个节点,求帮忙!!)
最佳答案
2021-01-18 10:48
clc;
clear all;
maindir = 'E:\Temp Folder';
subdir = dir( maindir ); % 先确定子文件夹
for i = 1 : length( subdir )
if( isequal( subdir( i ).name, '.' ) || ...
isequal( subdir( i ).name, '..' ) || ...
~subdir( i ).isdir ) % 如果不是目录跳过
continue;
end
subdirpath = fullfile( maindir, subdir( i ).name, '*.jpg' );
images = dir( subdirpath ); % 在这个子文件夹下找后缀为jpg的文件
% 遍历每张图片
for j = 1 : length( images )
imagepath = fullfile( maindir, subdir( i ).name, images( j ).name )
% imgdata = imread( imagepath ); % 这里进行你的读取操作
end
end
我要举报
如果感觉以上信息为低俗/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!
点此我要举报以上信息!
推荐资讯
大家都在看