XMLELLENT AD XMLNODELIST的隐式转换问题



我有一个XML文档,我想使用LINQ查询将其转换为XNLnodelist。现在,XML和LINQ都不知道。我遇到的错误是Cannot implicitly convert type 'System.Linq.IOrderedEnumerable<System.Xml.XmlElement>' to 'System.Xml.XmlNodeList'. An explicit conversion exists (are you missing a cast?)

XmlNodeList abTestDocx = abTestDoc.GetElementsByTagName("FS").OfType<XmlElement>().OrderBy(FS => FS.GetAttribute("label"));

谢谢!

您通常不会自己创建XmlNodeList实例。您真的需要吗?如果您只需要在节点上迭代,只需将其分配给IEnumerable<XmlElement>

IEnumerable<XmlElement> abTestDocx = abTestDoc
     .GetElementsByTagName("FS")
     .OfType<XmlElement>()
     .OrderBy(fs => fs.GetAttribute("label"));

请注意,使用LINQ TO XML通常比旧的XmlDocument API更好。那你只需要:

IEnumerable<XElement> abTestDocx = doc
     .Descendants("FS")
     .OrderBy(fs => (string) fs.Attribute("label"));

...以及其他各种事情也会更简单。linq到XML很可爱:)

相关内容

  • 没有找到相关文章

最新更新