我创建了一个示例XML。并尝试使用LINQ读取
这是代码:
XElement root = XElement.Load("C:\\............\\TestData.xml");
IEnumerable<Xelement> address = from tt in root.Elements("Test")
select tt;
我在select语句中遇到编译时错误:
Cannot implicitly convert type
'System.Collections.Generic.IEnumerable<System.Xml.Linq.XElement>'
to 'System.Collections.Generic.IEnumerable<EvalTest.Xelement>'.
An explicit conversion exists (are you missing a cast?)
XML:
<?xml version="1.0" encoding="utf-8" ?>
<TestData>
<Test Method="1">
<ID>1</ID>
<Submitter> Ritvij</Submitter>
<Date>11/5/2013 2:51:57 PM </Date>
</Test>
<Test Method="2">
<ID>1</ID>
<Submitter> Ritvij</Submitter>
<Date>11/5/2013 2:51:57 PM </Date>
</Test>
</TestData>
答案 0 :(得分:0)
root.Elements
会返回IEnumerable<XElement>
(大写字母为“E”),但您尝试将其分配给IEnumerable<Xelement>
(小写“e”)。
修改代码以使用XElement
或使用var
:
IEnumerable<XElement> address = from tt in root.Elements("Test") select tt;
var address = from tt in root.Elements("Test") select tt;