2011-08-11 152 views
1

我已經被賦予調用一個Web服務的任務,該服務返回一個xml數據提要,我正在這樣做;System.Xml.Linq命名空間

For Each r As DataRow in SomeDataTable 
    Dim msFeed As String = string.format("http://some-feed.com?param={0}", r!SOME_VAL) 
    Dim x As XDocument = XDocument.Load(msFeed) 
Next 

這很好,但正如你所看到的,x每次迭代都會被覆蓋。我需要的是創建一個xDocument並從我的循環添加每個提要,但我不確定如何繼續。

感謝

解決方案

Dim xAllFeeds As XElement = New XElement("Feeds") 

For Each r As DataRow in SomeDataTable 
    Dim msFeed As String = string.format("http://some-feed.com?param={0}", r!SOME_VAL) 
    Dim x As XDocument = XDocument.Load(msFeed) 
    xAllFeeds.Add(x.Root) 
Next 

回答

1

不是100%肯定的VB語法(C#是我選擇的語言),但是這應該是你追求的主旨。

Dim xAllFeeds As XElement = New XElement("Feeds") 
For Each r As DataRow in SomeDataTable 
    Dim msFeed As String = string.format("http://some-feed.com?param={0}", r!SOME_VAL) 
    Dim xDoc As XDocument = XDocument.Load(msFeed) 
    xAllFeeds.Add(xDoc.Root) 
Next 
+0

感謝,而不是 '使用appendChild' 我只是用 '添加' – Dooie

+1

對不起,這不是'AppendChild',只是'Add'(http://msdn.microsoft.com/en-us/library/system .xml.linq.xelement.aspx)。我已經適當調整了答案。 –