比如说
  <书>
    <名称>D</名称>  
    <价格>44</价格>  
  </书>
  <书> 
    <名称>C</名称>  
    <价格>33</价格>  
  </书> 
  <书>
    <名称>A</名称>  
    <价格>11</价格>  
  </书>
  <书> 
    <名称>B</名称>  
    <价格>22</价格>  
  </书>如何交换任意两个节点的内容,如变成  <书>
    <名称>A</名称>  
    <价格>11</价格>  
  </书>
   <书> 
    <名称>C</名称>  
    <价格>33</价格>  
  </书>
 <书>
    <名称>D</名称>  
    <价格>44</价格>  
  </书> 
  <书> 
    <名称>B</名称>  
    <价格>22</价格>  
  </书>用w3的包,创建的node怎么进行swap??

解决方案 »

  1.   

    第一种方法:中间变量,结合replaceChild方法进行替换。
    第二种方法:中间变量,结合添加、删除操作进行。
    这种问题跟Swap(x,y)交换两个变量的值本质上是一样的,只不过操作方法有所不同而已。
      

  2.   

    如果只是在对象中交换,很简单吧。
    先删除<书>这个节点父节点下的所有子节点,删除时同时保存这些节点,然后按你要的顺序append上去就行了。如果要修改XML文件,则先要读出来,在对象中交换后,再写入到文件中。
      

  3.   

    你用Google搜org.w3c.dom api就能看到这些函数的使用说明了
      

  4.   

    这是我写的函数,存在很大问题,就是不知道问题处在哪里
    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);
    }