在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!
答案 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