比如说
<书>
<名称>D</名称>
<价格>44</价格>
</书>
<书>
<名称>C</名称>
<价格>33</价格>
</书>
<书>
<名称>A</名称>
<价格>11</价格>
</书>
<书>
<名称>B</名称>
<价格>22</价格>
</书>如何交换任意两个节点的内容,如变成 <书>
<名称>A</名称>
<价格>11</价格>
</书>
<书>
<名称>C</名称>
<价格>33</价格>
</书>
<书>
<名称>D</名称>
<价格>44</价格>
</书>
<书>
<名称>B</名称>
<价格>22</价格>
</书>用w3的包,创建的node怎么进行swap??
<书>
<名称>D</名称>
<价格>44</价格>
</书>
<书>
<名称>C</名称>
<价格>33</价格>
</书>
<书>
<名称>A</名称>
<价格>11</价格>
</书>
<书>
<名称>B</名称>
<价格>22</价格>
</书>如何交换任意两个节点的内容,如变成 <书>
<名称>A</名称>
<价格>11</价格>
</书>
<书>
<名称>C</名称>
<价格>33</价格>
</书>
<书>
<名称>D</名称>
<价格>44</价格>
</书>
<书>
<名称>B</名称>
<价格>22</价格>
</书>用w3的包,创建的node怎么进行swap??
第二种方法:中间变量,结合添加、删除操作进行。
这种问题跟Swap(x,y)交换两个变量的值本质上是一样的,只不过操作方法有所不同而已。
先删除<书>这个节点父节点下的所有子节点,删除时同时保存这些节点,然后按你要的顺序append上去就行了。如果要修改XML文件,则先要读出来,在对象中交换后,再写入到文件中。
public void swapNode(Node node1,Node node2)
{
Node parent=node1.getParentNode();
Node t1=node1.getPreviousSibling();
Node t2=node2.getPreviousSibling();
parent.insertBefore(node2,t1);
parent.insertBefore(node1,t2);
}