嗨,我知道有很多关于在Matlab中更改XML内容的问题。但是我尝试了这个问题的不同答案(出现在SO上),但它们在我的案例中不起作用。这是我的XML文件结构
<annotation>
<folder>n02749479</folder>
<filename>n02749479_54</filename>
<source>
<database>ImageNet database</database>
</source>
<size>
<width>500</width>
<height>277</height>
<depth>3</depth>
</size>
<segmented>0</segmented>
<object>
<name>n02749479</name>
<pose>Unspecified</pose>
<truncated>0</truncated>
<difficult>0</difficult>
<bndbox>
<xmin>118</xmin>
<ymin>69</ymin>
<xmax>473</xmax>
<ymax>193</ymax>
</bndbox>
</object>
</annotation>
我想更改<bndbox>
代码中的代码。我想更改xmin,ymin,xmax,ymax
的值。我能够获取这些标签的值,但我无法设置这些标签的值
的问题:
如何更改上述标签的内容?
答案 0 :(得分:1)
Matlab支持java接口到xml。例如,要更改xmin
中的bndbox
,您可以执行以下操作:
xmlfile = fullfile('/tmp/test.xml');
DOMnode = xmlread(xmlfile);
bndbox_elem = DOMnode.getElementsByTagName('bndbox');
xmin_elem = bndbox_elem.item(0).getElementsByTagName('xmin');
xmin_elem.item(0).setTextContent('3233')
xmlwrite('/tmp/test2.xml',DOMnode);