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일

0 개 추천

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개)

카테고리

도움말 센터File Exchange에서 Cell Arrays에 대해 자세히 알아보기

질문:

2012년 9월 2일

댓글:

2022년 1월 7일

Community Treasure Hunt

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

Start Hunting!

Translated by