2010-05-17 18 views
0

這裏是我的XML文檔的結構,重組的xml文檔

<worldpatentdata> 
    <patent-family> 
     <exchange-documents>......</exchange-documents> 
     <exchange-documents>......</exchange-documents> 
     <exchange-documents>......</exchange-documents> 
     <familymember>.....</familymember> 
     <exchange-documents>......</exchange-documents> 
     <exchange-documents>......</exchange-documents> 
     <familymember>.....</familymember> 
     <exchange-documents>......</exchange-documents> 
     <exchange-documents>......</exchange-documents> 
     <familymember>.....</familymember> 
    </patent-family> 
</worldpatentdata> 

在上面的XML結構,所有的<exchange-documents>元素被發現是<patent-family>元素的子節點。 我想這些<exchange-documents>元素作爲​​3210元素的childnode,使XML具有以下結構,

<worldpatentdata> 
    <patent-family> 
     <familymember>..... 
      <exchange-documents>......</exchange-documents> 
      <exchange-documents>......</exchange-documents> 
      <exchange-documents>......</exchange-documents> 
     </familymember> 
     <familymember>..... 
      <exchange-documents>......</exchange-documents> 
      <exchange-documents>......</exchange-documents> 
     </familymember> 
     <familymember>..... 
      <exchange-documents>......</exchange-documents> 
      <exchange-documents>......</exchange-documents> 
     </familymember> 
    </patent-family> 
</worldpatentdata> 

任何人可以幫助我在這? 謝謝

+0

這些虛線是結構還是忘了添加xml? – 2010-05-17 12:05:40

+0

好的,我們知道(現在,大聲笑)它應該是什麼樣子,但是您不會提供任何有關如何製作這些XML文檔的信息。 – Will 2010-05-17 12:06:25

+2

我已經爲你解決了一些問題。爲了將來的參考,請(請!)根據其結構縮進xml。它對可讀性有很大的影響。其次,總是圍繞在引號中的內聯xml,所以它不會從視線中消失。 – 2010-05-17 12:13:15

回答

0

通過DOM對<patent-family>的孩子進行迭代,記住你遇到的每一個<exchange-documents>。每當你看到一個<familymember>,移動它下面的記憶元素。

0

在我頭頂上方,一個方式可以是:

  1. 使用XDocument加載XML,並創建一個tempXDocument。
  2. foreach (XElement...通過元素和添加到其是<exchange-documents>
  3. 在tempXDocument添加<familymember><familymember>被發現的XmlNodeList物品;並將XmlNodeList添加到tempXDocument。
  4. 保存tempXDocument。