我想将一些MAT文件转换为XML(每个.mat文件包含一个层次结构),以便我可以从其他软件(如R,Python)访问数据。这些MAT文件是在Matlab 6.5中生成的,因此它们不在HDF5数据格式规范中。有这表明从MAT到XML的简单转换用户提供的XML工具箱(2003年)是可能的:将.mat文件转换为XML - 需要添加java类吗?
http://www.mathworks.com/matlabcentral/fileexchange/4278
但我似乎遇到与xml_format功能的错误:
??? NaN's cannot be converted to logicals.
我试图转换的数据结构嵌套在许多数据类型(数组等)上,所以我可能必须编写自己的导出函数。我用Matlab版本7.10.0.499(R2010a版本)64位(maci64),所以我应该有可用的xmlwrite
和xmlread
功能对我说:
http://www.mathworks.com/help/techdoc/import_export/f5-86078.html#bsmnj5u
然而,当我试图以他们为榜样,
docNode = com.mathworks.xml.XMLUtils.createDocument('root_element')
我得到一个错误:
??? Undefined variable "com" or class
如果我尝试看看Java类加载它,我得到
[M,X,J] = inmem;
J =
'MException'
尽管在我的$matlabroot/toolbox/local/classpath.txt
中似乎有很多加载的Java类。
我是否需要安装Java模块或添加其他路径或其他内容才能使其工作?或者你有没有建议从MAT转到另一种允许任意嵌套结构(其中一些包含图像阵列表示)的通用数据交换格式?我没有看到MAT到HDF5转换的方式,这似乎也可能是从MAT转换到XML的合理替代方式...谢谢〜
你有没有上进行修改* classpath.txt *? 'com'错误似乎是你的MATLAB安装的问题。使用不同的MATLAB版本,但在同一个平台上,我无法重现您的错误。 – zellus 2011-01-24 07:03:37
@zellus - 不,我没有做任何修改......我应该吗? – hatmatrix 2011-01-24 23:25:29