Reading values from xml file
215 views (last 30 days)
Show older comments
I've read around a bit and cant seem to get this to work. I am trying to read out a specific value from stereotyped xml files. The xml files look like this: http://i.imgur.com/uSEQt.png and I am trying to access the second "Frame relativeTime" value from the file for use in a data analysis pack I'm writing. There are many "Frame realtive time" entrees in the xml file but I am just trying to pull the second value and save it as a variable."
Any thoughts?
Thanks
0 Comments
Answers (6)
Pritom Kumar Saha
on 3 Aug 2021
Try
S = readstruct("abcd.xml")
it works on my matlab version.
It should work on matlab 2020b or higher version.
2 Comments
Adam Campos
on 18 Jan 2022
Holy moly that just saved me hours and hours of trying to figure this stuff out. Thank you!
Turlough Hughes
on 14 May 2021
filename = 'students.xml';
T = readtable(filename);
You can also select specific variables or attributes to read via detectImportOptions (or XMLImportOptions) - first get the opts and display the variable names:
opts = detectImportOptions(filename);
opts.VariableNames.'
then select the variable names that you want - let's say you want FirstNameAttribute, LastNameAttribute and Age, that would go as follows:
opts.SelectedVariableNames = opts.VariableNames(2:4);
T = readtable(filename,opts)
2 Comments
Catherine
on 10 Jun 2023
Agreed, this is exactly what I was looking for. I was getting nowhere with xmlread. Thank you very much.
Thomas
on 27 Mar 2012
Try this from the file exchange. I have found it to be useful
example : here is sample.xml
<?xml version="1.0"?>
<book id="bk101">
<author>Gambardella, Matthew</author>
<title>XML Developer's Guide</title>
<genre>Computer</genre>
<price>44.95</price>
<publish_date>2000-10-01</publish_date>
<description>An in-depth look at creating applications
with XML.</description>
</book>
<book id="bk102">
<author>Ralls, Kim</author>
<title>Midnight Rain</title>
<genre>Fantasy</genre>
<price>5.95</price>
<publish_date>2000-12-16</publish_date>
<description>A former architect battles corporate zombies,
an evil sorceress, and her own childhood to become queen
of the world.</description>
</book>
If I have to find the price of the second book:
c=xml2struct('sample.xml') % use function from file exchange
>> new.catalog.book{1,2}.price
ans =
Text: '5.95'
4 Comments
Thomas
on 27 Mar 2012
sorry, it should read new=xml2struct('sample.xml')
and then new.catalog.book{1,2}.price
Image Analyst
on 27 Mar 2012
Did you try xmlread()? Can you show your code and maybe upload your xml file and m-file somewhere so people can try something if they want to?
2 Comments
Image Analyst
on 27 Mar 2012
Did you try it with the example code they gave? You know, all the "function theStruct = parseXML(filename)" stuff. It's complicated I know but that seems like the way they recommend in the help.
Jeffrey Warner
on 2 Apr 2024
Hello,
I am trying to read this xml file to return the current filter position (<FilterPosition>) which is 4, and the Position name and position ID under the <Position Defined> node. I have not dealt with xm; files before. I tried xmlread and that returned a null result. Any healp is greatly appreciated.
DOMnode = xmlread(flName).
DOMnode = [#document: null]
I could not upload the xml file. Here is the contents of the file.
<FW102CProfileModel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Pcount="6">
<SpeedMode>HighSpeed</SpeedMode>
<TriggerMode>Input</TriggerMode>
<SensorMode>TurnOff</SensorMode>
<FilterPosition>4</FilterPosition>
<PositionDefined>
<FW102CFilterConfigMode>
<PositionName>OD0</PositionName>
<PositionID>1</PositionID>
</FW102CFilterConfigMode>
<FW102CFilterConfigMode>
<PositionName>OD0.2 (5232)</PositionName>
<PositionID>2</PositionID>
</FW102CFilterConfigMode>
<FW102CFilterConfigMode>
<PositionName>OD0.5 (5235)</PositionName>
<PositionID>3</PositionID>
</FW102CFilterConfigMode>
<FW102CFilterConfigMode>
<PositionName>OD1 (5240)</PositionName>
<PositionID>4</PositionID>
</FW102CFilterConfigMode>
<FW102CFilterConfigMode>
<PositionName>OD2 (5242)</PositionName>
<PositionID>5</PositionID>
</FW102CFilterConfigMode>
<FW102CFilterConfigMode>
<PositionName>OD2.5 (5243)</PositionName>
<PositionID>6</PositionID>
</FW102CFilterConfigMode>
</PositionDefined>
<SequenceDefined/>
</FW102CProfileModel>
0 Comments
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!