这是我的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中有错误:???类没有适当的方法,属性或字段setAttribute org.apache.xerces.dom.DeepNodeListImpl。
感谢您的帮助!
答案 0 :(得分:1)
即使matlab只找到元素名称为“Dos28”的单个元素,它仍会返回一个列表。您仍然需要从列表中获取第一项。
thisListItem=allListItems.getElementsByTagName('Dos28');
thisListItem=thisListItem.item(0);
thisListItem.setAttribute('PositionY','25');