MATLAB: доступ к объекту XML - PullRequest
3 голосов
/ 15 ноября 2011

В 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>? ТИА!

1 Ответ

3 голосов
/ 15 ноября 2011

Делает ли это то, что вам нужно?

>> 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...