为什么我不能获取这个节点的属性值
本文关键字:节点 属性 不能 获取 为什么 | 更新日期: 2023-09-27 18:19:35
这是我尝试使用的代码:
var items = xdoc.Descendants("item")
.Select(item => new
{
MyImage = (string)item.Elements("enclosure")
.Select(i => i.Attribute("url").Value)
.SingleOrDefault()
})
.ToList();
以下是它在xml文件中的样子:
<item>
<enclosure url="http://ep00.epimg.net/politica/imagenes/2013/06/22/actualidad/1371899226_298900_1371917547_miniatura_normal.jpg" length="6409" type="image/jpeg" />
</item>
我想做的就是获取的url
感谢任何形式的帮助
更改
MyImage = (string)item.Elements("enclosure")
.Select(i => i.Attribute("url").Value)
.SingleOrDefault()
至
MyImage = (string)item.Element("enclosure").Attribute("url").Value
如果您不想检查null,您可以尝试这些XML扩展,并将其写成:
MyImage = item.Get("enclosure/url", "");
没有那么难:
var result = xdoc.Descendants("item").Select(n =>
n.Element("enclosure").Attribute("enclosure").Value);
如果涉及命名空间,那么如果不包括命名空间,则.Elements(name)
将不匹配。要测试是否是这种情况,请尝试用.Elements().Where(e => e.Name.LocalName == name)
替换.Elements(name)
的实例。