1. 程式人生 > >Matlab xml讀寫

Matlab xml讀寫

最近需要用matlab進行XML檔案的讀寫,起初嘗試用matlab自帶的函式來做,但是發現不是很方便。後來找到了一個MATLAB的工具包,xml_io_tools,這個工具包以結構體的形式將XML讀入記憶體,便於我們後續進一步的處理,值得大家嘗試。

        xml_io_tools下載地址:http://cn.mathworks.com/matlabcentral/fileexchange/12907-xml-io-tools

 下面是一個使用xml_io_tools的小Demo:

function objects=getObjects(filename)
filename='config.xml';
DOM= xml_read(filename);
Targets=DOM.TrackTarget.Items;
objects=cell(1,size(Targets,1));
for i=1:size(Targets)
    Items=Targets(i);
    objects{i}.Name=Items.ATTRIBUTE.Name;
    objects{i}.start=Items.ATTRIBUTE.start;
    objects{i}.end=Items.ATTRIBUTE.end;
    objects{i}.id=Items.Item.ATTRIBUTE.id;
end
end
下面是XML檔案:
<?xml version="1.0" encoding="gb2312" ?>
<Message Version="1.0">

<Target>
<Items Name="30" start="57" end="6299">
<Item id="9" />
</Items>
<Items Name="30" start="57" end="1203">
<Item id="7"/>
</Items>
<Items Name="40" start="885" end="6299">
<Item id="3"  />
</Items>
<Items Name="50" start="1305" end="2549">
<Item id="2" />
</Items>
</Target>
</Message>