2016-11-01 3 views
0

안녕하세요, Matlab에서 XML 내용을 변경하는 것과 관련하여 많은 질문이 있습니다. 그러나 나는이 질문에 대한 다른 답을 시도했으나 (현재는 나와 있음), 제 경우에는 작동하지 않았습니다. 여기 내 XML 파일 구조
내가 <bndbox> 태그에 태그를 변경할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> 

입니다. xmin,ymin,xmax,ymax의 값을 변경하고 싶습니다. 이 태그의 값을 가져올 수는 있지만 이러한 태그의 값을 설정할 수 없습니다.
질문 :
위에서 언급 한 태그의 내용을 변경하는 방법은 무엇입니까?

답변

1

xml에 대한 Matlab supporst java 인터페이스. 예를 들어 xminbndbox으로 변경하려면 다음을 수행 할 수 있습니다.

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); 
관련 문제