節點這裏是我有什麼,如何重新安排使用XML的Java DOM
<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());
}
}
這不正是我現在正在做什麼?我找到了它,然後我追加它。請幫我Alex – user1888502
查看樣本的編輯。 – Alex
感謝您的建議,XML API有許多不同的調用,試驗和錯誤需要很長時間。複製節點變得重要。 –