我有一个轻微的逻辑问题。我正在解析从api调用返回的XML文件以显示在列表框中。 xml数据返回对象键而不是实际图像。然后我必须使用opject键来调用另一个返回xml的函数,其中图像数据解析该图像数据并将其返回到前一个函数。我能够成功地将数据解析为IEnumerable列表,但我不知道如何将图像字符串返回到上一个调用。
try
{
// MessageBox.Show(response.Content);
XDocument streamFeed = XDocument.Load(new StringReader(response.Content));
var data = from query in streamFeed.Descendants("interaction")
select new Interaction
{
title = (string)query.Element("title"),
displayName = (string)query.Element("displayName"),
action = (string)query.Element("action"),
verb = (string)query.Element("verb"),
userId = (string)query.Element("userId"),
objectKey = (string)query.Element("objectKey"),
timestamp = (string)query.Element("timestamp"),
comment = (string)query.Element("comment"),
source = (string)query.Element("source"),
profileImage = "http://adb.s3.amazonaws.com/" + (string)query.Element("userId") + "/avatar.png",
image = getImage((string)query.Element("objectKey")),
};
streamListBox.ItemsSource = data;
上面的代码片段是第一个将数据绑定到列表框的函数。这很好用,除了我需要xml响应中没有的图像。我必须进行第二次函数调用 - getImage-以使用对象键获取它。我希望getImage函数只返回每个对象的字符串
try
{
// MessageBox.Show(response.Content);
XDocument streamFeed = XDocument.Load(new StringReader(response.Content));
var data = from query in streamFeed.Descendants("show")
select new Interaction
{
image = (string)query.Element("image"),
};
var data2 = from query in streamFeed.Descendants("movie")
select new Interaction
{
image = (string)query.Element("image"),
};
var data3 = from query in streamFeed.Descendants("artist")
select new Interaction
{
image = (string)query.Element("image"),
};
objImages = data.Concat(data2).Concat(data3);
}
catch (Exception e)
{
MessageBox.Show(e.ToString());
}
});
}
return "HOW CAN I RETURN IMAGE STRING HERE";
}