Ignore:
Timestamp:
Oct 8, 2014, 9:10:00 PM (10 years ago)
Author:
sommeria
Message:

xmltree_updated

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/@xmltree/xmltree.m

    r723 r821  
    33% FORMAT tree = xmltree(varargin)
    44%
    5 % filename - XML filename
     5% varargin - XML filename or XML string
    66% tree     - XMLTree Object
    77%
    8 %     tree = xmltree;            % creates a minimal XML tree: <tag/>
    9 %     tree = xmltree(filename);  % creates a tree from an XML file
     8%     tree = xmltree;             % creates a minimal XML tree: '<tag/>'
     9%     tree = xmltree('foo.xml');  % creates a tree from XML file 'foo.xml'
     10%     tree = xmltree('<tag>content</tag>') % creates a tree from string
    1011%_______________________________________________________________________
    1112%
     
    3233                        tree = varargin{1};
    3334                elseif ischar(varargin{1})
    34                         tree.tree = xml_parser(varargin{1});
    35                         tree.filename = varargin{1};
     35                        % Input argument is an XML string
     36                        if (exist(varargin{1}) ~= 2 & ...
     37                                ~isempty(xml_findstr(varargin{1},'<',1,1)))
     38                                tree.tree = xml_parser(varargin{1});
     39                                tree.filename = '';
     40                        % Input argument is an XML filename
     41                        else
     42                                fid = fopen(varargin{1},'rt');
     43                                if (fid == -1)
     44                                        error(['[XMLTree] Cannot open ' varargin{1}]);
     45                                end
     46                                xmlstr = fscanf(fid,'%c');
     47                                fclose(fid);
     48                                tree.tree = xml_parser(xmlstr);
     49                                tree.filename = varargin{1};
     50                        end
    3651                        tree = class(tree,'xmltree');
    3752                else
     
    3954                end
    4055        otherwise
    41                 error('[XMLTree] Bad number of arguments');
     56                error('[XMLTree] Too many input arguments');
    4257end
Note: See TracChangeset for help on using the changeset viewer.