日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > 循环神经网络 >内容正文

循环神经网络

matlab对xml文件操作,Matlab读写xml文件

發布時間:2024/3/13 循环神经网络 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 matlab对xml文件操作,Matlab读写xml文件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

xml文件以文檔對象模型表示,簡稱DOM(Document Object Model)。在Matlab中,使用xmlread讀取xml文件成DOM節點,對xml文件的操作轉化成對DOM節點的操作,使用xmlwrite把DOM節點寫入到xml文件中。

Matlab寫xml文件

以個人信息為例,通常個人的信息包括姓名、性別、住址和電話等等,其中電話可能有多個,比如手機和座機,代碼如下。

% file name

filename = 'info';

% create document

docNode = com.mathworks.xml.XMLUtils.createDocument('info');

% document element

docRootNode = docNode.getDocumentElement();

% name

nameNode = docNode.createElement('name');

nameNode.appendChild(docNode.createTextNode(sprintf('Jack')));

docRootNode.appendChild(nameNode);

% gender

genderNode = docNode.createElement('gender');

genderNode.appendChild(docNode.createTextNode(sprintf('male')));

docRootNode.appendChild(genderNode);

% address

addressNode = docNode.createElement('address');

addressNode.appendChild(docNode.createTextNode(sprintf('Beijing')));

docRootNode.appendChild(addressNode);

% phone

phoneElement = docNode.createElement('phone');

docRootNode.appendChild(phoneElement);

mobilephoneNode = docNode.createElement('mobilephone');

mobilephoneNode.appendChild(docNode.createTextNode('123456'));

phoneElement.appendChild(mobilephoneNode);

landlineNode = docNode.createElement('landline');

landlineNode.appendChild(docNode.createTextNode('012345'));

phoneElement.appendChild(landlineNode);

% xmlwrite

xmlFileName = [filename,'.xml'];

xmlwrite(xmlFileName,docNode);

簡單理解xml可以分為Document,Element和Node三級結構,Element可以嵌套Element和Node,Node是最小的xml單位。

注意其中getDocumentElement(), createElement()和createTextNode()三個方法,分別是獲取Document, Element和Node的三個方法。此外注意appendChild()前面的元素決定了xml元素的結構,最后通過xmlwrite方法寫入到xml文件中,最終xml文件如下。

Jack

male

Beijing

123456

012345

Matlab讀xml文件

讀取過程不光包括讀入xml文件,還需要解析,以之前存儲的info.xml為例,代碼如下。

% read xml

xmlDoc = xmlread('info.xml');

% name node

name_array = xmlDoc.getElementsByTagName('name');

name = char(name_array.item(0).getTextContent());

disp(['name:' name]);

% phone element

phone_array = xmlDoc.getElementsByTagName('phone');

phone = phone_array.item(0);

disp([char(phone.item(1).getNodeName()) ':' char(phone.item(1).getTextContent())]);

disp([char(phone.item(3).getNodeName()) ':' char(phone.item(3).getTextContent())]);

首先用xmlread讀入整個xml文件,此后通過getElementsByTagName(‘name’)找出name節點,注意沒有getNodeByTagName方法,并且getElementsByTagName()得到的是一個NodeList數組,因為xml允許節點重名,可能有多個name節點,所以通過item(0)得到第一個name節點,并且通過getTextContent()方法輸出name節點的內容。

同樣通過getElementsByTagName(‘phone’).item(0)找到phone節點,此處phone包含mobilephone和landline兩個子節點,通過測試發現phone節點item(0),item(2)和item(4)都是#text的節點,item(1)和item(3)分別代表mobilephone和landline兩個節點,通過getNodeName()和getTextContent()分別得到節點的名稱和內容,結果如下。

name:Jack

mobilephone:123456

landline:012345

總結

以上是生活随笔為你收集整理的matlab对xml文件操作,Matlab读写xml文件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。