C#读取XML文件数据显示在datagridview控件中

图片说明

如上图所示,读取XML文件中某个节点下的内容,累计叠加显示到datagridview,这一块代码怎么写??

图片说明

 using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Xml;

namespace Q694517
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        class DataItem
        {
            public string ShortName { get; set; }
            public string Category { get; set; }
            public string BaseTypeRef { get; set; }
            public DataItem(string a, string b, string c)
            {
                ShortName = a;
                Category = b;
                BaseTypeRef = c;
            }
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            XmlDocument doc = new XmlDocument();
            doc.Load("TunerServiceInterface.arxml");
            var nodes = doc.GetElementsByTagName("IMPLEMENTATION-DATA-TYPE");
            List<DataItem> data = new List<DataItem>();
            foreach (XmlNode node in nodes)
            {
                try
                {
                    var sn = node.ChildNodes.Cast<XmlNode>().FirstOrDefault(x => x.Name == "SHORT-NAME").InnerText;
                    var c = node.ChildNodes.Cast<XmlNode>().FirstOrDefault(x => x.Name == "CATEGORY").InnerText;
                    var btf = node.ChildNodes.Cast<XmlNode>().FirstOrDefault(x => x.Name == "SW-DATA-DEF-PROPS").InnerText;
                    data.Add(new DataItem(sn, c, btf));
                }
                catch { } 
            }
            dataGridView1.DataSource = data;
        }
    }
}

图片说明

我debug的时候数据取到了,datagridview只是创建了数据条数的空白行,数据没显示出来为什么