資源簡介
matlab的xml文檔讀實例,提供了相應的xml文檔,里面有一個腳本文件,一個函數文件,直接可以用

代碼片段和文件信息
%%
%Det數據包中文件的組織形式為:
%?%?--------根節點
%? train_data/1 ?----圖片路徑
%? 1_2.jpg ?---文件名稱
%? ???????????????????????----尺寸信息
%? 680
%? 571
%? 3
%?
%? ject>????????????????????-----目標
%? 1
%? 0
%?
%? 75
%? 395
%? 164
%????????? 175
%?
%? ject>
%?
%%
%getElementsByTagName得到的是一個NodeList數組,最終得到的可能是多個節點通過item來進行訪問每一個子節點
%通過item訪問元素
%getTextContent?節點內容?getNodeName?節點名稱
%getChildNodes是更加一般的獲取子節點的方式
clc;
close?all;
clearvars;
xml=xmlread(‘1_2.xml‘‘r‘);%這樣讀進來的并不是結構體
RootNodes=xml.getChildNodes;%根節點列表只有一個
%%
childnodes=RootNodes.item(0).getChildNodes;%解析出各個節點
nodenum=childnodes.getLength;
for?i=0:nodenum-1??%遍歷各個節點
????str=char(childnodes.item(i).getNodeName);
????if(strcmp(str‘folder‘))
????????disp([‘folder:‘?‘?‘?char(childnodes.item(i).getTextContent)]);
????elseif(strcmp(str‘filename‘))
????????disp([‘filename:‘?‘?‘?char(childnodes.item(i).getTextContent)]);
????elseif(strcmp(str‘size‘))
????????showsize(childnodes.item(i));
????elseif(strcmp(str‘object‘))
????????showobject(childnodes.item(i));
????else
????end
end
function?[]=showsize(imsize)
?????????childnodes=imsize.getChildNodes;
?????????nodesnum=childnodes.getLength;
?????????for?i=0:nodesnum-1
??????????????str=char(childnodes.item(i).getNodeName);
??????????????if(strcmp(str‘img_width‘))
???????????????????disp([‘img_width:‘?‘?‘?char(childnodes.item(i).getTextContent)]);
??????????????elseif(strcmp(str‘img_height‘))
??????????????????disp([‘img_height:‘?‘?‘?char(childnodes.item(i).getTextContent)]);
??????????????elseif(strcmp(str‘img_depth‘))
??????????????????disp([‘img_depth:‘?‘?‘?char(childnodes.item(i).getTextContent)]);
??????????????else
??????????????????
??????????????end
?????????end
end
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-08-02?15:45??matlab讀xm
?????文件?????????683??2018-08-01?04:24??matlab讀xm
?????文件????????2210??2018-08-01?07:35??matlab讀xm
?????文件????????1469??2018-08-01?07:32??matlab讀xm
評論
共有 條評論