source: trunk/src/xml2struct.m @ 364

Last change on this file since 364 was 356, checked in by sommeria, 12 years ago

civ updated with new functions for opening files, consistently with uvmat
Bugs to be expected (use previous version then)

File size: 798 bytes
Line 
1% 'xml2struct': read an xml file as a Matlab structure, converts numeric character strings into numbers
2%-----------------------------------------------------------------------
3% function s=xml2struct(filename)
4%
5% OUTPUT:
6% s= Matlab structure corresponding to the input xml file
7%
8% INPUT:
9% filename: name of the xml file
10
11function s=xml2struct(filename)
12t=xmltree(filename);
13ss=convert(t);
14s=convert_string(ss);
15
16
17function out=convert_string(s)
18info=whos('s');
19switch info.class
20    case 'struct'
21        names = fieldnames(s);
22        for k=1:length(names)
23            out.(names{k})=convert_string(s.(names{k}));
24        end
25    case 'char'
26        if isempty(regexp(s,'\<\d+\>'))
27            out=s;
28        else
29            out=str2num(s);
30        end
31    otherwise
32        out=s;
33end
34
35   
Note: See TracBrowser for help on using the repository browser.