[英]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.