C#XDocument从XML获取所有图像,并在LongListSelector中显示它们

我有一个问题,我试图从XML中获取所有“缩略图”图像链接,然后在LongListSelector中显示它们。

这是我的LongListSelector代码:

<phone:LongListSelector LayoutMode="Grid" GridCellSize="180,180" Margin="0,0,-12,0" ItemsSource="{Binding}">
                <phone:LongListSelector.ItemTemplate>
                    <DataTemplate>
                        <Grid Background="{StaticResource PhoneAccentBrush}" Margin="5">
                            <StackPanel>
                                    <Image Source="{Binding Images}"></Image>
                            </StackPanel>
                        </Grid>
                    </DataTemplate>
                </phone:LongListSelector.ItemTemplate>
                </phone:LongListSelector>

和我的DataContext:

this.DataContext = gd.GetGameItems;

读取xml和存储数据的代码:

var feedXml = XDocument.Parse(e.Result);

            var gameData = feedXml.Root.Descendants("Game").Select(x => new GetGame
            {
                ID = (int)x.Element("id"),
                GameTitle = (string)x.Element("GameTitle"),
                Platform = (string)x.Element("Platform"),
                ReleaseDate = (string)x.Element("ReleaseDate"),
                Images = new Uri(GetImages(x)),
            })
              .ToList();
            foreach (var item in gameData) GetGameItems.Add(item);

private ObservableCollection<GetGame> _GetGameItems = new ObservableCollection<GetGame>();
    public ObservableCollection<GetGame> GetGameItems
    {
        get
        {
            return this._GetGameItems;
        }
    }

public class GetGame
{
    public int ID { get; set; }
    public string GameTitle { get; set; }        
    public string Platform { get; set; }
    public string ReleaseDate { get; set; }
    public Uri Images { get; set; }
}

这是我试图从中获取所有图像的地方,现在我只能从一个图像链接中获取:

 private static string GetImages(XElement gameNode)
    {
        return "http://thegamesdb.net/banners/" + (string)gameNode.Descendants("boxart")
                               .FirstOrDefault().Attribute("thumb");
    }

这是XML:

    <Data>
  <baseImgUrl>http://thegamesdb.net/banners/</baseImgUrl>
  <Game>
    <id>2</id>
    <GameTitle>Crysis</GameTitle>
     <PlatformId>1</PlatformId>
     <Platform>PC</Platform>
     <ReleaseDate>11/13/2007</ReleaseDate>
     <Overview>
     From the makers of Far Cry, Crysis offers FPS fans the best-looking, most highly-        evolving gameplay, requiring the player to use adaptive tactics and total customization of    weapons and armor to survive in dynamic, hostile environments including Zero-G. Earth, 2019. A team of US scientists makes a frightening discovery on an island in the South China Sea. All contact with the team is lost when the North Korean Government quickly seals off the area. The United States responds by dispatching an elite team of Delta Force Operators to recon the situation. As tension rises between the two nations, a massive alien ship reveals itself in the middle of the island. The ship generates an immense force sphere that freezes a vast portion of the island and drastically alters the global weather system. Now the US and North Korea must join forces to battle the alien menace. With hope rapidly fading, you must fight epic battles through tropical jungle, frozen landscapes, and finally into the heart of the alien ship itself for the ultimate Zero G showdown.
    </Overview>
<ESRB>M - Mature</ESRB>
<Genres>
<genre>Shooter</genre>
</Genres>
<Players>4+</Players>
<Co-op>No</Co-op>
<Youtube>http://www.youtube.com/watch?v=i3vO01xQ-DM</Youtube>
<Publisher>Electronic Arts</Publisher>
<Developer>Crytek</Developer>
<Rating>8.1111</Rating>
<Images>
  <fanart>
    <original width="1920" height="1080">fanart/original/2-1.jpg</original>
    <thumb>fanart/thumb/2-1.jpg</thumb>
  </fanart>
  <fanart>
    <original width="1920" height="1080">fanart/original/2-2.jpg</original>
    <thumb>fanart/thumb/2-2.jpg</thumb>
  </fanart>
  <fanart>
    <original width="1920" height="1080">fanart/original/2-3.jpg</original>
    <thumb>fanart/thumb/2-3.jpg</thumb>
  </fanart>
  <fanart>
    <original width="1920" height="1080">fanart/original/2-4.jpg</original>
    <thumb>fanart/thumb/2-4.jpg</thumb>
  </fanart>
  <fanart>
    <original width="1920" height="1080">fanart/original/2-5.jpg</original>
    <thumb>fanart/thumb/2-5.jpg</thumb>
  </fanart>
  <fanart>
    <original width="1920" height="1080">fanart/original/2-6.jpg</original>
    <thumb>fanart/thumb/2-6.jpg</thumb>
  </fanart>
  <boxart side="back" width="1525" height="2162" thumb="boxart/thumb/original/back/2-1.jpg">boxart/original/back/2-1.jpg</boxart>
  <boxart side="front" width="1525" height="2160" thumb="boxart/thumb/original/front/2-1.jpg">boxart/original/front/2-1.jpg</boxart>
  <banner width="760" height="140">graphical/2-g2.jpg</banner>
  <banner width="760" height="140">graphical/2-g3.jpg</banner>
  <screenshot>
    <original width="1920" height="1080">screenshots/2-1.jpg</original>
    <thumb>screenshots/thumb/2-1.jpg</thumb>
  </screenshot>
  <clearlogo width="400" height="95">clearlogo/2.png</clearlogo>
</Images>
</Game>
</Data>

我希望有人可以提供帮助。

哈姆雷特·哈科比(Hamlet Hakobyan)

你在找吗

private static IEnumerable<Uri> GetImages(XElement gameNode)
    {
        return gameNode
                  .Descendants("boxart")
                  .Select(t => new Uri("http://thegamesdb.net/banners/" + (string)t.Attribute("thumb")));

同时更改

 Images = new Uri(GetImages(x))

Images = GetImages(x).ToList()

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从GraphObject获取相册并在android中显示它们

来自分类Dev

替换XML文件中的所有图像

来自分类Dev

从URL文件夹中提取所有图像并在Boostrap HTML中显示

来自分类Dev

如何在C#中获取文件目录并在xml中显示

来自分类Dev

将不同的图像添加到我的适配器,并在ListView中显示它们

来自分类Dev

从图库中获取图像并在ImageView中显示

来自分类Dev

无法从sqflite数据库中获取所有用户并在flutter中显示在列表中

来自分类Dev

如何读取XML文件并获取其中的所有URL链接并将它们保存到TXT文件?C#

来自分类Dev

将图像从Firebase Storage链接到Firestore文档并在React Native中显示它们

来自分类Dev

更新数据库中的图像路径并在div中显示它们

来自分类Dev

从Android中的WebView获取所有图像

来自分类Dev

C#XDocument XML格式

来自分类Dev

如何获取表中选择行的值并合并它们并在输入文本中显示它们?

来自分类Dev

获取类继承并在C#中实现的所有类型和接口

来自分类Dev

如何从C#中的文件夹中选择所有xml文件并解析它们

来自分类Dev

从api获取图像并在UIImageView swift中显示它们

来自分类Dev

如何获取目录中的文件列表并在表中显示它们

来自分类Dev

找到所有包含子字符串的单词,并在不同的行中显示它们

来自分类Dev

Xml文件不适用于所有使用C#中的XDocument.Load的事件方法

来自分类Dev

从主容器中获取所有h2文本,并在边栏中显示它们

来自分类Dev

在 C++ 中获取所有打开窗口的列表并存储它们

来自分类Dev

C# - 如何将文件夹中的图像添加到数组并在列表视图中显示它们?

来自分类Dev

C# XDocument 从 XML 文件中读取所有节点

来自分类Dev

从 JSON 字符串解析图像并在滑块中显示它们

来自分类Dev

C++11 - 在编译时获取所有类变量并在没有 Boost 的情况下为它们调用方法

来自分类Dev

Vuejs2-从“v-model”获取动态值,计算所有并在计算属性中显示

来自分类Dev

在 tkinter 中显示多个带有图像的独立窗口,并在它们全部关闭时退出主循环

来自分类Dev

获取源图像并在 Image WPF 中显示

来自分类Dev

获取所有必需的输入并在页面加载时检查它们

Related 相关文章

  1. 1

    从GraphObject获取相册并在android中显示它们

  2. 2

    替换XML文件中的所有图像

  3. 3

    从URL文件夹中提取所有图像并在Boostrap HTML中显示

  4. 4

    如何在C#中获取文件目录并在xml中显示

  5. 5

    将不同的图像添加到我的适配器,并在ListView中显示它们

  6. 6

    从图库中获取图像并在ImageView中显示

  7. 7

    无法从sqflite数据库中获取所有用户并在flutter中显示在列表中

  8. 8

    如何读取XML文件并获取其中的所有URL链接并将它们保存到TXT文件?C#

  9. 9

    将图像从Firebase Storage链接到Firestore文档并在React Native中显示它们

  10. 10

    更新数据库中的图像路径并在div中显示它们

  11. 11

    从Android中的WebView获取所有图像

  12. 12

    C#XDocument XML格式

  13. 13

    如何获取表中选择行的值并合并它们并在输入文本中显示它们?

  14. 14

    获取类继承并在C#中实现的所有类型和接口

  15. 15

    如何从C#中的文件夹中选择所有xml文件并解析它们

  16. 16

    从api获取图像并在UIImageView swift中显示它们

  17. 17

    如何获取目录中的文件列表并在表中显示它们

  18. 18

    找到所有包含子字符串的单词,并在不同的行中显示它们

  19. 19

    Xml文件不适用于所有使用C#中的XDocument.Load的事件方法

  20. 20

    从主容器中获取所有h2文本,并在边栏中显示它们

  21. 21

    在 C++ 中获取所有打开窗口的列表并存储它们

  22. 22

    C# - 如何将文件夹中的图像添加到数组并在列表视图中显示它们?

  23. 23

    C# XDocument 从 XML 文件中读取所有节点

  24. 24

    从 JSON 字符串解析图像并在滑块中显示它们

  25. 25

    C++11 - 在编译时获取所有类变量并在没有 Boost 的情况下为它们调用方法

  26. 26

    Vuejs2-从“v-model”获取动态值,计算所有并在计算属性中显示

  27. 27

    在 tkinter 中显示多个带有图像的独立窗口,并在它们全部关闭时退出主循环

  28. 28

    获取源图像并在 Image WPF 中显示

  29. 29

    获取所有必需的输入并在页面加载时检查它们

热门标签

归档