1.xml文件如下:
<?xml version="1.0" encoding="utf-8"?>
<info>
<name>Jack</name>
<gender>male</gender>
<address>Beijing</address>
<phone>
<mobilephone>123456</mobilephone>
<landline>012345</landline>
</phone>
</info>
代码如下:
% 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.youkuaiyun.com/lkj345/article/details/52763790
2.xml文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<parameters>
<param name="inputPath1">C:\Users\Administrator\Desktop\test\aaa.txt</param>
<param name="inputPath2">C:\Users\Administrator\Desktop\test\bbb.txt</param>
<param name="inputPath3">C:\Users\Administrator\Desktop\test\ccc.txt</param>
<param name="outputDir">C:\Users\Administrator\Desktop\test\ddd.txt</param>
</parameters>
代码如下:
%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.youkuaiyun.com/langb2014/article/details/48680901
本文介绍了在MATLAB中使用xmlread函数读取XML文件的两种方法,包括获取name节点和param节点的内容。示例代码详细展示了如何解析XML文件并提取所需信息。
462

被折叠的 条评论
为什么被折叠?



