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

标签 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>

我想访问 DataValuesROIPoints 使用 MATLAB

我发现了一种提取 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),我无法单独提取它们。

有什么建议吗?

最佳答案

请查看xml_read在 matlab 中央。它将读取您的 xml 并将其输出为结构(遵循您的 xml 树)。不过,对于较大的 XML,它可能会很慢。

关于xml - 使用 Matlab 从 .XML 文件访问数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18015638/

相关文章:

java - 在java中用rest返回实现的类型

xml - 在 xml-conduit 中组合 requireAttr 和ignoreAttrs

matlab - 在 Matlab 中对 .csv 文件使用 textscan

matlab - 使用 MATLAB 将对数螺旋图像的白色部分转换为散点图

python - 在 csv 文件中查找字符串时提取行

php - 从非常多变的字符串中提取数据

php - 解析命名空间内的提要

java - 如何在 JSOUP 中禁用转义模式?

c - 如何在 Windows 中打印\n?

PowerShell提取方括号之间的数字并插入到以下行中