使用Matlab从.XML文件访问数据

时间:2013-08-02 11:20:36

标签: xml matlab extract

我有一个 .XML 文件,如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Comments</key>
<string></string>
<key>DataSummary</key>
<dict>
    <key>AreaCM2</key>
    <real>2.77</real>
    <key>Dev</key>
    <real>9.48</real>
</dict>
<key>DataValues</key>
<array>
    <real>81</real>
    <real>85</real>
</array>
<key>ROIPoints</key>
<array>
    <string>{65.7414, 58.2929}</string>
    <string>{65.7388, 58.4421}</string>
</array>
</dict>
</plist>

我想使用MATLAB 访问DataValuesROIPoints

我发现提取ROIPoints的方法非常简单,其工作原理如下:

DOMnode = xmlread(pathofxmlfile);
i       = DOMnode.getDocumentElement;
f       = char(i.getTextContent);

f是一个包含所有“文本”内容的字符串:

f = CommentsDataSummaryAreaCM22.77Dev9.48DataValues8185ROIPoints**{65.7414, 58.2929}{65.7388, 58.4421}

由于ROIPoints用大括号括起来,我可以操纵字符串以便提取它们。

不幸的是,DataValues被水平连接(8185)并且我无法单独提取它们。

任何提示?

1 个答案:

答案 0 :(得分:3)

请在matlab中心查看xml_read。它将读取您的xml并将其作为结构输出(在您的xml树之后)。但是对于更大的XML来说可能会很慢。