2016-11-01 2 views
0

Привет, я знаю, что было задано много вопросов относительно изменения содержания XML в Matlab. Но я пробовал разные ответы на этот вопрос (присутствовал на SO), но они не работали в моем случае. Вот моя структура файла XML
Как изменить данные в XML-файле? Matlab

<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. Я могу получить значения этих тегов, но я не могу установить значения этих тегов.
Вопрос:
Как изменить содержание тегов, упомянутых выше?

ответ

1

Matlab supporst java interface to 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); 
Смежные вопросы