-1
A
回答
3
您需要使用Descendants()方法,让您的info
元素和(我认为)FirstOrDefault()方法获取一张照片:
var xml = XDocument.Load(@"details.xml");
var obj = (from info in xml.Descendants("info")
let name = info.Element("name").Value
let picture = info.Descendants("image").FirstOrDefault()
where name == value
select new detail
{
Name = name,
Gender = info.Element("gender").Value,
Image = picture != null? picture.Value : null
}).ToList();
编辑1
要获取所有需要进行以下更改的图像:
在类detail
中更改的类型财产
public IEnumerable<string> Images{ get; set; }
在加载数据下面的代码:
var obj = (from info in xml.Descendants("info")
let name = info.Element("name").Value
let images = info.Descendants("image")
where name == value
select new detail
{
Name = name,
Gender = info.Element("gender").Value,
Images = images.Select(elem => elem.Value)
}).ToList();
最后但并非最不重要的,改变XAML来显示图像的集合,并将其绑定到detail
类的Images
财产。
编辑2
要在XAML中显示的图像的集合改变Image
标签有以下:
<ItemsControl ItemsSource = {Binding Images}>
<ItemsControl.ItemTemplate>
<Image Source = {Binding .}></Image>
</ItemsControl.ItemTemplate>
</ItemsControl>
我没有测试过它,所以它可能需要一些调整,正常工作,但这应该足以为您指出正确的方向。
新年快乐!
相关问题
- 1. 用LINQ读取XML节点
- 2. Linq to XML读取XPath(读取所有节点)
- 3. 使用Linq读取XML节点值
- 4. linq to xml获取所有子节点
- 5. 的LINQ to XML没有得到所有节点
- 6. 获得使用LINQ从XML节点C#
- 7. C#XML Linq指向/读取节点
- 8. XML的LINQ读取多个节点
- 9. 如何在java中使用xpathh读取xml的所有节点?
- 10. Linq到XML阅读外在节点
- 11. LINQ XML中的所有内部节点
- 12. 使用Linq将XML读取到XML
- 13. 读取XML节点
- 14. 使用Linq读取名称空间中的XML节点
- 15. 如何使用LINQ读取指定的xml节点值?
- 16. LinQ到XML;使用父节点值
- 17. 删除节点不包括那些具有使用LINQ到XML
- 18. xml解析器无法读取xml的所有节点
- 19. XML不删除节点使用LINQ
- 20. 读取XML节点使用ActionScript 3
- 21. 使用ajax读取XML节点
- 22. 使用java代码读取xml节点
- 23. 使用VB脚本读取xml节点
- 24. 使用RapidXML读取XML节点
- 25. 使用linq从xml获取特定节点使用linq
- 26. 如何获得使用Linq到XML的Mulitiple子节点值?
- 27. 如何让所有节点及其属性的XML使用LINQ
- 28. 使用LINQ返回所有匹配的XML节点
- 29. 使用LINQ C#中的XML所有节点
- 30. 使用LINQ读取XML值
欢迎来到Stack Overflow。以纯文本的形式分享您的代码。并请阅读[常见问题],[问]和[帮助]作为开始.. –
欢迎来到SO :)。请尝试将所有相关材料放置在您的问题中,因为很难来回检查我们有什么问题等等。因此,请将您图像中包含的所有内容复制并粘贴到您的帖子中。谢谢 – Christos