2014-09-04 174 views
0

我基本上只想將我的XML文檔的名稱打印到文本框中。解析XML文檔和

所有這一切都會打印名字。

XmlDocument xDoc = new XmlDocument(); 
xDoc.Load("my documents address"); 
TextBox2.Text = xDoc.SelectSingleNode("Web_Service/Food/Name").InnerText; 

我希望做的是這樣的事情...

String[] output; 

XmlDocument xDoc = new XmlDocument(); 
xDoc.Load("my documents address"); 

foreach(Name i in xDoc){ 
    append i to output; 
} 

TextBox2.Test = output; 

或類似的東西。如果有人能幫助我,我會非常感激。

所以它打印出:

咖喱,雞肉,漢堡包,史蒂夫,香料等

回答

0

在Selman的回答中也建議使用LINQ-to-XML是一個很好的選項。但如果你想堅持XmlDocument,您可以使用SelectNodes()來獲取所有匹配的節點:

List<string> output = new List<string>(); 
foreach(XmlNode name in xDoc.SelectNodes("Web_Service/Food/Name")) 
{ 
    output.Add(name.InnerText); 
} 
TextBox2.Text = string.Join(", ", output); 
+0

這就是我一直在尋找,非常感謝。 – Spamsational 2014-09-06 02:31:42

1

那麼你想正好連接Name元素的值?如果是的話,它可以很容易地用做LINQ to XMLstring.Join方法:

var xmlDocument = XDocument.Load("path"); 
var names = xmlDocument.Descendants("Name").Select(x => (string)x); 
TextBox2.Text = string.Join(", ", names);