2

これは私のxmlファイルです:

<?xml version="1.0" encoding="UTF-8"?>
<XMLConverter> 
<Positions> 
   <Side0 Chemin="face.jpg"/>
   <Side1 Chemin="droite1.jpg"/>
   <Side2 Chemin=""/> 
   <Side3 Chemin=""/> 
   <Side4 Chemin="dos.jpg"> 
       <Dos28 PositionY="0.906845" PositionX="0.602489" Nom="Dos28" NoSelect="0"/>
       <Dos29 PositionY="0.910139" PositionX="0.570278" Nom="Dos29" NoSelect="0"/> 
       <Dos26 PositionY="0.93869" PositionX="0.601025" Nom="Dos26" NoSelect="0"/> 
   </Side4> 
   <Side5 Chemin="gauche1.jpg"/> 
   <Side6 Chemin="gauche2.jpg"/> 
   <Side7 Chemin=""/> 
</Positions> 
<Marqueurs>
<Angles>
<Distances>
</XMLConverter>

Dos28でPositionYの値を変更したいです。

私はこれを試しました:

r=num2str(25);
xDoc=xmlread(fullfile(('test pour zones.xml')));
allListItems=xDoc.getElementsByTagName('Side4');
allListItems=allListItems.item(0);
thisListItem=allListItems.getElementsByTagName('Dos28');
thisListItem.setAttribute('PositionY','25');
xmlwrite('test pour zones2.xml',xDoc);

Matlab でエラーが発生しました: ??? クラス org.apache.xerces.dom.DeepNodeListImpl の適切なメソッド、プロパティ、またはフィールド setAttribute がありません。

手伝ってくれてありがとう!

4

1 に答える 1

1

matlab は要素名が 'Dos28' の要素を 1 つしか見つけられませんが、それでもリストが返されます。リストから最初の項目を取得する必要があります。

thisListItem=allListItems.getElementsByTagName('Dos28');
thisListItem=thisListItem.item(0);
thisListItem.setAttribute('PositionY','25');
于 2013-03-27T22:02:39.763 に答える