matlab读xml文件的两种方式

1.xml文件如下:



   Jack
   male
   

Beijing

   
      123456
      012345
   

 

代码如下:

% 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节点的内容。

原文链接:https://blog.csdn.net/lkj345/article/details/52763790

2.xml文件如下:



    C:\Users\Administrator\Desktop\test\aaa.txt
    C:\Users\Administrator\Desktop\test\bbb.txt
    C:\Users\Administrator\Desktop\test\ccc.txt
    C:\Users\Administrator\Desktop\test\ddd.txt

代码如下:

%read xml,get file paths from xml
xmlDoc = xmlread('para.xml');

Params= xmlDoc.getElementsByTagName('param');% 获取param节点集合
Num_Params=Params.getLength();%查看param节点的个数
Param1=Params.item(0);%从param节点集合获取第一个param节点,注意集合的索引已从0开始的
Param1Name=char(Param1.getAttribute('name'));%获取param1的Name属性
if (strcmp(Param1Name,'aaa'))%如果Name属性=aaa,
Path1= char(Param1.getTextContent());%则获取此节点的值(即所需文件的路径)
end
disp(['Path1:' Path1]);

参考这个写的:https://blog.csdn.net/langb2014/article/details/48680901

 

你可能感兴趣的:(matlab读xml文件的两种方式)