How to change values in XML file?
12 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Jarrod Rivituso
2012-9-4
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 个评论
ANKAN BHATTACHARYYA
2016-6-27
编辑:ANKAN BHATTACHARYYA
2016-6-27
Robert Ungi
2022-1-7
Maybe a more generic way: https://www.thewizz.art/2022/01/06/how-to-modify-an-xml-attribute-value-using-matlab/
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!