MATLAB:访问XML对象

时间:2011-11-15 00:57:44

标签: xml matlab

在MATLAB中,我加载了一个XML文件docNode = xmlread('stuff.xml');stuff.xml如下:

<?xml version="1.0"?>
<rss version="2.0" xmlns:g="http://somesite.com">
    <channel>
        <title>Blah</title>
        <link>http://www.blah.com</link>
        <description>BLAH.COM </description>
        <item>    
            <link>http://www.blah.com/page</link>
        </item>
    </channel>
</rss>

我正在尝试在<link>中检索该字符串,但事实证明它非常棘手......我正在阅读此博客http://blogs.mathworks.com/desktop/2010/11/01/xml-and-matlab-navigating-a-tree/但我仍然无法理解它!有人可以了解如何访问<link>吗? TIA!

1 个答案:

答案 0 :(得分:3)

这可以满足您的需求吗?

>> docNode = xmlread('stuff.xml');
>> l = docNode.getElementsByTagName('link');
>> char(l.item(0).getFirstChild.getData)
ans =
http://www.blah.com
>> char(l.item(1).getFirstChild.getData)
ans =
http://www.blah.com/page

PS stuff.xml中有错误 - 它应该是</channel>,而不是</<channel>


编辑:要直接遍历每个链接,您可以使用l.getLength

for i = 0:(l.getLength - 1) % 0-based indexing, not 1-based like MATLAB arrays
    char(l.item(i).getFirstChild.getData)
end

ans =
http://www.blah.com
ans =
http://www.blah.com/page