第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用數(shù)據(jù)集在 Visual Basic/C# 中讀取和寫入同一個 XML 文件?

如何使用數(shù)據(jù)集在 Visual Basic/C# 中讀取和寫入同一個 XML 文件?

C#
慕運維8079593 2021-11-14 17:02:53
我有一個列表,它可以包含任何對象(例如,在我下面復(fù)制的實例中,列表可以有一個“訂單”或十個“訂單”)。我使用了數(shù)據(jù)合同并得到了這個輸出(OrderList 中只有一個訂單/一個對象):  <?xml version="1.0"?> -<frmStartup.SerializeClass xmlns:i="http://www.w3.org/2001/XMLSchema- instance" xmlns="http://schemas.datacontract.org/2004/07/BAKFAA"> -<Orderlist>    -<Order>       <Number>1</Number>       <OrderDistance>150</OrderDistance>       -<OffsetX xmlns:a="http://schemas.microsoft.com/Arrays">          <a:double>59.00</a:double>          <a:double>70.80</a:double>        </OffsetX>       -<OffsetY xmlns:a="http://schemas.microsoft.com/2003">          <a:double>43</a:double>          <a:double>54</a:double>        </OffsetY>        <deflection>          <a:double>76</a:double>          <a:double>23</a:double>        </deflection>        <Comment> 2014 10 08 15 19 50</Comment>     </Order>  </Orderlist></frmStartup.SerializeClass>根據(jù)我對Data Contract的理解,它返回程序中已經(jīng)使用過的數(shù)據(jù)結(jié)構(gòu)。我被要求創(chuàng)建 XML 輸出的新格式(與數(shù)據(jù)協(xié)定創(chuàng)建的格式不同)。在新任務(wù)中,我被要求創(chuàng)建一個與數(shù)據(jù)契約提供的非常不同的暫定結(jié)構(gòu)。我正在做一個集成項目,這意味著 3 個不同的程序可以在同一個文件上讀寫。因此,在輸出文件中,還有其他變量在當(dāng)前程序中甚至不可用。輸出文件需要類似于這個(與上面數(shù)據(jù)契約創(chuàng)建的輸出比較):  <Country>    <Company>       <CompanyName>aa</CompanyName>          <branch>              <branchName>bb</branchName>                <OrderList>                   <order>                     <comment>32 53 65 76 854</comment>                     <OrderDistance>532</OrderDistance>                       <deflection>                         <offsetX>0</offsetX>                         <offsetY>0</offsetY>                         <deflValue>10.45</deflValue>                       </deflection>                   </deflection>              </order>             </OrderList>          </branch>      </Company>  </Country>                   我嘗試使用數(shù)據(jù)集并將值復(fù)制到不同的表中,最后從 DataSet 創(chuàng)建 XML。使用 DataSet 的好處是我可以復(fù)制其中的 XML 輸入文件,只更改程序過程中更改的值,并將這些更改與那些未更改的變量一起保存在輸出文件中。這對我來說似乎是一種非常困難的方法,我必須跟蹤主鍵和外鍵(如果我錯了,請糾正我)。請幫助我找到解決此問題的更好方法。
查看完整描述

1 回答

?
HUX布斯

TA貢獻1876條經(jīng)驗 獲得超6個贊

我能夠自己解決問題。


我上傳了一個所需的輸出模板,在程序的根目錄中只有一個對象,如下所示:


 <Country>

    <Company>

       <CompanyName>aa</CompanyName>

          <branch>

              <branchName>bb</branchName>

                <OrderList>

                   <order>

                     <comment>32 53 65 76 854</comment>

                     <OrderDistance>532</OrderDistance>

                       <deflection>

                         <offsetX>0</offsetX>

                         <offsetY>0</offsetY>

                         <deflValue>10.45</deflValue>

                       </deflection>

                       <deflection>

                         <offsetX>0</offsetX>

                         <offsetY>0</offsetY>

                         <deflValue>10.45</deflValue>

                       </deflection>

                  </order>

             </OrderList>

          </branch> 

     </Company>

  </Country>   

然后我將上傳的 XML 文件讀取到數(shù)據(jù)集,然后從程序中計算該程序創(chuàng)建的對象的數(shù)量,并循環(huán)遍歷它們以復(fù)制我想要的數(shù)據(jù)集表中的值。我添加了新行以添加需要信息(列)。為了跟蹤表之間的關(guān)系,我使用了如下主鍵和外鍵:


Public Shared XMLDom As DataSet = New DataSet

XMLDom.ReadXml("../../XMLOutput_template.xml")

 For k = 0 To orderlistInXMl.Count - 1


         XMLDom.Tables("order").Rows.Add()


         XMLDom.Tables("order").Rows(k).Item("orderNumber") = 

         orderlistInXMl.Item(k).DropNumber

         XMLDom.Tables("order").Rows(k).Item("OrderDistance") = 

         basinlistInXMl.Item(k).Distance


         XMLDom.Tables("order").Rows(k).Item("orderlist_id") = 

         XMLDom.Tables("orderlist").Rows(0).Item("orderlist_id")

解決此問題的關(guān)鍵是在程序的根目錄中上傳所需解決方案的模板。通過這種方式,我不必創(chuàng)建表關(guān)系,第二個是上面代碼中的最后一個命令,它使用表中父項的主鍵檢查子項的外鍵。


查看完整回答
反對 回復(fù) 2021-11-14
  • 1 回答
  • 0 關(guān)注
  • 209 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號