更改文本节点Matlab

时间:2018-10-02 15:41:15

标签: xml matlab dom

我正在MatLab中处理XML文件,并且想要更改节点的Text值。

说我有一个像这样的XML文件:

<?xml version="1.0" encoding="UTF-8"?>
<SetBeam>
 <ControlPoints>
  <Cp>
   <Mu>2</Mu>
   <GantryRtn>40</GantryRtn>
  </Cp>
 </ControlPoints>
</SetBeam>

我要做的是将2节点的值<Mu>更改为4

我尝试这样做:

xmlDoc.getElementsByTagName('Mu').item(0).childNodes(0).nodeValue = '4'

...但是没有用。

在Matlab中必须使用与nodeValue不同的命令吗?

1 个答案:

答案 0 :(得分:0)

这是不使用外部库的简单方法。 setTextContent确实有效。

xmlDoc = xmlread('sample.xml');

xmlDoc.getElementsByTagName('Mu').item(0).setTextContent('4');

% Create a new xml file and for checking that Mu value has changed
xmlwrite('new.xml', xmlDoc)

我已经在R2018b中进行了测试。