我想要使用图片url绑定图片
本文关键字:绑定 url 我想要 | 更新日期: 2023-09-27 18:00:33
我想阅读下面的XML并按以下顺序打印输出。你能帮助查询如何绑定图像吗?
<?xml version="1.0" encoding="utf-8"?>
<Book>
<L1 id="100">
<Subjects>
<subject>
<thumb_image>
<image url= url="http://dev2.merceed.jpeg1"/>
<thumb_image>
</subject>
<subject>
<thumb_image>
<image url= url="http://dev2.merceed.jpeg2"/>
<thumb_image>
</subject>
<subject>
<thumb_image>
<image url= url="http://dev2.merceed.jpeg3"/>
<thumb_image>
</subject>
</Subjects>
</L1>
<L2 id="200">
<Subjects>
<subject>
<thumb_image>
<image url= url="http://dev2.merceed.jpeg"/1>
<thumb_image>
</subject>
<subject>
<thumb_image>
<image url= url="http://dev2.merceed.jpeg2"/>
<thumb_image>
</subject>
<subject>
<thumb_image>
<image url= url="http://dev2.merceed.jpeg2"/>
<thumb_image>
</subject>
</Subjects>
</L2>
<Book>
我想要像一样的输出
100
图像1
图像2
图像3
200
图像11
图像12
图像13
我使用的代码是
var query = from l in xmlDoc.Descendants("L1")
from subject in l.Descendants("Subjects")
select new Notch
{
name = (string)l.Attribute("id").Value,
SubjectName= l.subject("article").Select(a => (string)a.Attribute("SubjectName")).ToList(),
url = l.Element("article").Elements("thumb_image").Select(x => (string)x.Attribute("url")).ToString()
};
foreach (var result in query)
{
foreach (var titles in result.SubjectName)
{
Console.WriteLine(titles);
}
foreach (var image in category.Image)
{
Console.WriteLine(image);
}
}
var query =
from l in xmlDoc.Root.Elements()
select new {
Id = (int)l.Attribute("id"),
Subjects = l.Element("Subjects")
.Elements("subject")
.Select(s => (string)s.Attribute("SubjectName"))
.ToList()
};
foreach (var item in query)
{
Console.WriteLine(item.Id);
foreach (var name in item.Subjects)
Console.WriteLine(name);
}
更新:编辑完问题(将Li元素更改为L1和L2元素)后,应该使用xmlDoc.Root.Elements()
而不是xmlDoc.Root.Elements("Li")
目前还不清楚您希望当前查询如何工作(例如l.subject
,以及使用未出现在XML中的article
),但我怀疑您想要以下内容:
var query = from l in xmlDoc.Descendants("Li")
select new Notch
{
name = (string) l.Attribute("id"),
SubjectName = l.Element("Subjects")
.Elements("subject")
.Select(x => (string) x.Attribute("SubjectName"))
.ToList()
};
我还强烈建议您仔细查看变量和属性名称。名为SubjectName
的属性具有集合值是没有意义的,名为titles
的迭代变量表示单个的值也是没有意义的。注意这类事情会使代码的维护变得更加容易。