我尝试使用Matlab regexp解析xml文件。具体来说,我喜欢检索一个单词" curvepoint"的所有事件的数组。两者之间发生 "存款"和" / deposit"。所以对于下面的xml,它应该是一个[6x1]数组,如
"
float
"
我在下面的尝试并不起作用,因为每个"曲线点"之间散布着许多其他文字。单词发生率和前瞻/后退,但我不知道如何处理这个问题。
<curvepoint>
<curvepoint>
<curvepoint>
<curvepoint>
<curvepoint>
<curvepoint>
XMLText是
regexp(XMLText,'(?<=<deposits>)(<curvepoint>)(?=</deposits>)','match')'
答案 0 :(得分:0)
永远不要使用正则表达式来解析XML。最好的解决方案是脆弱的。请改用真正的XML解析器。
在MATLAB中,使用xmlread,xmlwrite和xslt函数来读取,写入和转换XML。
请注意MathWorks blog has XML posts在MATLAB中使用这些函数。