我有一组扩展名为.dat的ascii文件,我需要将它们转换为一组.xml文件。
无论如何,使用Matlab或任何其他软件都可以做到这一点。
这是我需要转换的文件之一:
https://docs.google.com/open?id=0B1GI9KuZUKX3TDFCZDVTbzdINUE
答案 0 :(得分:1)
我过去曾使用XML4MAT。它将处理XML格式的数据转换,但不能完全处理实际读取和写入XML文件,因此您必须添加一些胶水代码。顺序是:
使用DumpToXML.m和LoadFromXML.m作为您单独下载的XML4MAT包的粘合代码。
% function DumpToXML(XMLFileName, Data)
function DumpToXML(XMLFileName, Data)
% Generate the text of the XML file.
XMLData = ['<root>' 10];
XMLData = [XMLData mat2xml(Data, 'Data', 1)];
XMLData = [XMLData '</root>' 0];
% Now output the data.
fid = fopen(XMLFileName, 'w');
fprintf(fid, '%s', XMLData);
fclose(fid);
end
% function LoadFromXML(XMLFileName)
function Data = LoadFromXML(XMLFileName)
% Open the XML file.
fid = fopen(XMLFileName, 'r');
if(fid <= 0)
error(['Cannot open XML file ' XMLFileName]);
end
XMLData = fscanf(fid, '%c', inf);
fclose(fid);
% Now get the Data tag.
DataStartIndex = findstr(XMLData, '<Data');
% Now find the end.
DataEndIndex = findstr(XMLData, '</Data>');
% Extract the strings for this two variable from the string
% containing the loaded XML file.
XMLData = XMLData(DataStartIndex:DataEndIndex+6);
% And turn it back into a variable.
Data = xml2mat(XMLData);
end
答案 1 :(得分:0)
我认为Matlab不是那种选择的武器。
我支持Python,因为有很好的XML包,比如lxml。您应该能够使用open()和readlines()轻松解析dat文件。