Parses an XML string, xmlstr, and returns the corresponding Matlab structure v.



v = xml_parse(xmlstr)

v = xml_parse(xmlstr,attswitch)



This is a non-validating parser. XML processing entries or comments starting with '<?' or '<!', are ignored by the parser.


Input Arguments

xmlstr            XML string, for example read from a file with
xmlstr = fileread(filename)


attswitch        optional, default='on':
'on' reads XML header attributes idx, size, type if present and interprets these to create the correct Matlab data types.
'off' ignores XML element header attributes and interprets contents as strings.

Output Arguments

v                   Matlab variable or structure.




This example shows how to define a simple XML string and parse it into a Matlab variable. As the idx, type, and size attributes are defined, the resulting Matlab data type conforms to these specifications (class double vector of size [1x2]).


xmlstr = ...

'<root idx="1" type="double" size="1 2">3.1416 1.4142</root>';


V1 = xml_parse(xmlstr)


V1 =

     [3.1416, 1.4142]  % (class double)


Again, setting the attswitch parameter to 'off' lets the parser ignore the attributes and the returned variable is interpreted as a string.


V2 = xml_parse(xmlstr,'off')


V2 =

     '3.1416 1.4142'   % (class char)


Let's define a more complex data set in XML:


xmlstr =








    <name>myProject Two</name>






v = xml_parse(xmlstr);


v:  1x2 struct array with fields:



     name: 'myProjectName'

     date: '2004-09-13'

     bytes: '10472'


     name: 'myProject Two'

     date: '2004-09-13'

     bytes: '9851'


See also

xml_parseany, xml_formatany, xml_format, xml_load, xml_save, xml_help




Copyright © 2007, The Geodise Project, University of Southampton