How to change values in XML file?

조회 수: 25 (최근 30일)
abhay  kaul
abhay kaul 2012년 9월 2일
댓글: Robert Ungi 2022년 1월 7일
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

채택된 답변

Jarrod Rivituso
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
ANKAN BHATTACHARYYA 2016년 6월 27일
편집: ANKAN BHATTACHARYYA 2016년 6월 27일
How can i copy a full node like <x> 1 2 3 4 5 6 </x> to another node say, <coord> </coord> ?
Robert Ungi
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개)

카테고리

Help CenterFile Exchange에서 MATLAB에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by