繁体   English   中英

使用LINQ转换XML并使用C#存储到datagridview表

[英]converting XML using LINQ and Storing to a datagridview table using C#

我有这个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>   

我试图将ID_NUM = 1Person所有数据存储到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);  

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM