2

您好我正在尝试解析一个包含用户名列表的简单 xml 文件,然后将结果绑定到列表框

xml 看起来像这样

<friends type = Array>
   <userId> xxxx </userId>
   <userId> yyyy </userId>
   <userId> zzzz </userId>
   <userId> wwww </userId>
         ...
   <userId> aaaa </userId>
</friends>

我的解析代码看起来像这样

XDocument friendFeed = XDocument.Load(new StringReader(response.Content));
               var friendsData = from query in friendFeed.Descendants("friends")
                                  select new Friend
                                  {
                                    userId = (string)query.Element("userId"),
                                    profileImage = imageurl + (string)query.Element("userId")  + "/avatar.png"
                                  };

                friendListBox.ItemsSource = friendsData;

这有效,但只返回一个用户第一个。是否有另一种方法来解析/循环该文档然后将其绑定到列表框?

大家好,感谢您的回复!我玩弄了代码并想出了一个可行的解决方案。它在下面的答案中

4

2 回答 2

1

感谢您的回复!我玩弄了代码并想出了一个可行的解决方案。

 XDocument friendFeed = XDocument.Load(new StringReader(response.Content));

                List<string> values = new List<string>();

                 foreach (XElement item in friendFeed.Descendants("userId"))
                 {

                      values.Add(item.Value);

                 }

                 var friends = from query in values
                               select new Friend
                               {
                                   userId = query,
                                   profileImage = imageurl + query + "/avatar.png"
                               };
                 friendListBox.ItemsSource = friends;
于 2013-05-18T08:14:56.573 回答
0

我想你想要这样的东西:

var friend = Xmldoc.SelectNodes("/");  
foreach (XmlNode friend in friends )  
{    
   var userIds= person.ChildNodes;      
   foreach(XmlNode userId in userIds )     
   {       //get the userId   
   }  
} 
于 2013-05-16T12:51:27.700 回答