How to change values in XML file?
12 views (last 30 days)
Show older comments
I apologize in advance as I have never worked with XML and this is my first try so any assistance will be really appreciated. I am trying to change a value in a XML file using Matlab with the following structure:
<setting name="test1">
<value>0</value>
</setting>
<setting name="test2">
<value>1</value>
</setting>
<setting name="test3">
<value>1</value>
<Air elev="83.0" temp="59.0" pre="29.9247">
</Air>
</setting>
The value I want to change is "0" to "1" in "test1" and also the value of "elev" in "test3". For the first part this is what I have till now:
a = docNode.getElementsByTagName('job');
b = a.item(0);
c = b.getElementsByTagName('setting');
d = c.item(0);
d.getFirstChild.setData('2')
xmlwrite('test1.xml',docNode);
The problem is that this is my output for line3 in the 'test1.xml' file.
<setting name="test1">20
I really have no clue how to deal with the xml when there are attributes and I have no idea how to change the value of attributes. I would really appreciate any help!
Thanks
Abhay
0 Comments
Accepted Answer
Jarrod Rivituso
on 4 Sep 2012
Working with XML can definitely be tricky! Fortunately, these kinds of things are pretty well documented...
For your two cases, it'd be something like
d.nodeValue = '2';
and
someNode.setAttribute("elev","83.0");
2 Comments
ANKAN BHATTACHARYYA
on 27 Jun 2016
Edited: ANKAN BHATTACHARYYA
on 27 Jun 2016
Robert Ungi
on 7 Jan 2022
Maybe a more generic way: https://www.thewizz.art/2022/01/06/how-to-modify-an-xml-attribute-value-using-matlab/
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!