MATLAB Answers

How to change values in XML file?

87 views (last 30 days)
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

Sign in to comment.

Accepted Answer

Jarrod Rivituso
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");

  1 Comment

ANKAN BHATTACHARYYA
ANKAN BHATTACHARYYA on 27 Jun 2016
How can i copy a full node like <x> 1 2 3 4 5 6 </x> to another node say, <coord> </coord> ?

Sign in to comment.

More Answers (0)

Sign in to answer this question.


Translated by