これが私が持っているものです、
<animation_state>
<state>run</state>
<animation_sequence>
<pose duration="10" image_id="1"/>
<pose duration="10" image_id="2"/>
<pose duration="10" image_id="3"/>
</animation_sequence>
ユーザーが特定の画像を上下に移動できるようにしたいのですが、画像は XML に保存されているため、画像 ID を変更する必要があります。ユーザーが image_id = 3 をシーケンスの最初、中間、または必要に応じて任意の場所にしたい場合、どのように XML を操作できますか? 私はDOMを使用しています。
ユーザーが画像 3 を最初にしたい場合、これが私の XML の表示方法です。
<animation_state>
<state>run</state>
<animation_sequence>
<pose duration="10" image_id="3"/>
<pose duration="10" image_id="1"/>
<pose duration="10" image_id="2"/>
</animation_sequence>
私の試み:
Document dom = parser.getDocument();
for (int i = 0; i < dom.getElementsByTagName("animation_state").getLength(); i++)
{
if (dom.getElementsByTagName("animation_state").item(i).getChildNodes().item(0).getTextContent().equalsIgnoreCase(target)) {
posVal = i;
}
}
NodeList list = dom.getElementsByTagName("animation_sequence").item(posVal).getChildNodes();
for(int b=0; b<list.getLength(); b++)
{
if(list.item(b).getAttributes().item(1).getNodeValue().equalsIgnoreCase(PoseSelectionListener.imageIDOfSelectedPose))
{
Node toBeMoved = list.item(b);
dom.getElementsByTagName("animation_sequence").item(posVal).appendChild(toBeMoved);
System.out.println(toBeMoved.getAttributes().item(0).getNodeName());
}
}