Changeset 472 for trunk/src/xml2struct.m


Ignore:
Timestamp:
Jun 25, 2012, 12:12:24 AM (12 years ago)
Author:
sommeria
Message:

many bugs repaired. series set to work in mode background

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/xml2struct.m

    r471 r472  
    99% filename: name of the xml file
    1010
    11 function s=xml2struct(filename)
     11function [s,Heading]=xml2struct(filename)
    1212t=xmltree(filename);
     13Heading=get(t,1,'name');
    1314ss=convert(t);
    1415s=convert_string(ss);
     
    4041    case 'cell'
    4142        out=[];%default
    42         for ilist=1:numel(ss)
    43             if ~isempty(str2num(ss{ilist}))
    44             out(ilist,:)=str2num(ss{ilist});
     43        if isequal(cellfun(@isnumeric,ss),ones(size(ss)))% if the all the cell content is  numeric
     44            out=cell2mat(ss);
     45        else
     46            for ilist=1:numel(ss)
     47                sep_ind=regexp(ss{ilist},'\s&\s');% check for separator ' & ' which indicates column separation in tables
     48                if ~isempty(sep_ind)
     49                    sep_ind=[-2 sep_ind length(ss{ilist})+1];
     50                    for icolumn=1:length(sep_ind)-1
     51                        out{ilist,icolumn}=ss{ilist}(sep_ind(icolumn)+3:sep_ind(icolumn+1)-1);
     52                    end
     53                else
     54                    out{ilist,1}=ss{ilist}; %reproduce the input string
     55                end
    4556            end
    4657        end
     58%         for ilist=1:numel(ss)
     59%             if ~isempty(str2num(ss{ilist}))
     60%             out(ilist,:)=str2num(ss{ilist});% convert to numeric
     61%             end
     62%         end
    4763    otherwise
    4864        out=ss;
Note: See TracChangeset for help on using the changeset viewer.