[英]how to run linq on XxmlElement rather than XElement in C#
如何使用linq
在C#
获取XmlElement而不是XElement的属性?
public string test (XmlElement element)
{
var enumAttr = from attr in element.Attributes select attr;
foreach (var data in enumAttr)
{
// TO DO
}
}
这是一个错误,
找不到源类型“ System.Xml.XmlAttributeCollection”的查询模式的实现。 找不到“选择”。 考虑明确指定范围变量“ attr”的类型
这是因为XmlAttributeCollection
仅实现IEnumerable
而不是IEnumerable<T>
。 您可以将查询表达式更改为:
var enumAttr = from XmlAttribute attr in element.Attributes select attr;
等效于:
var enumAttr = from attr in element.Attributes.Cast<XmlAttribute>() select attr;
但是无论如何,您在这里实际上并没有对LINQ做任何事情-您可以使用:
foreach (XmlAttribute data in enumAttr.Attributes)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.