使用LINQ转换XML,并使用c#将其存储为数据视图表
本文关键字:存储 数据 视图 转换 LINQ XML 使用 | 更新日期: 2023-09-27 18:17:19
我有这个XML文件。
<Address>
<Data2>
<Person>
<EMPL_NUM>>100</EMPL_NUM>
<NAME>Carl</NAME>
<ID_NUM>1</ID_NUM>
<IsRequired>0</IsRequired>
</Person>
<Person>
<EMPL_NUM>200</EMPL_NUM>
<NAME>Mark</NAME>
<ID_NUM>2</ID_NUM>
<IsRequired>0</IsRequired>
</Person>
<Person>
<EMPL_NUM>300</EMPL_NUM>
<NAME>Tanner</NAME>
<ID_NUM>3</ID_NUM>
<IsRequired>0</IsRequired>
</Person>
</Data2>
</Address>
我试图将Person
中具有ID_NUM = 1
的所有数据存储到datagridview
。
输出到datagrid应该是:
EMPL_NUM | Name | ID_NUM | IsRequired
100 | Carl | 1 | 0
下面是我当前的代码:
XDocument doc = XDocument.Parse(path);
var mySteps = (from s in doc.Descendants("Address")
select new
{
Id = int.Parse(s.Element("EMPL_NUM").Value),
Name = s.Element("NAME").Value,
MD_ID = s.Elements("ID_NUM").Where(x => x.Element("MD_ID").Value == IdNum),
Description = s.Element("IsRequired").Value
}).ToList();
datagridview.datasource = mysteps.ToList();
我一直得到错误:
Data at the root level is invalid. Line 1, position 1.
我错过了什么?
尝试使用
XDocument doc = XDocument.Load(path);
代替
XDocument doc = XDocument.Parse(path);