C#操作XML之读取XML

来源:互联网 发布:热血江湖辅助源码 编辑:程序博客网 时间:2024/06/04 19:20

XML的操作有两种方式:

1、通过XmlDocument方式,此种方式是标准的DOM方式,支持.NET2.0

2、XDocument方式。

如果不了解写入操作的盆友可以阅读XML写入操作这篇文章

接下来就通过XmlDocument和XDocument两种方式实现XML读取。

通过递归方式把XML文档加载到treeview上

通过XDocument方式加载

  XDocument xDocument = XDocument.Load("rss_sportslq.xml");//加载XML文件            XElement rootName = xDocument.Root;//获取父节点            TreeNode treeNode = treeView1.Nodes.Add(rootName.Name.ToString());//把父节点加载到treeview父节点            LoadXmlToTreeView(rootName, treeNode);//递归加载treeview 
 private void LoadXmlToTreeView(XElement rootName, TreeNode treeNode)        {            foreach (XElement item in rootName.Elements())            {                if (item.Elements().Count() == 0)                {                    treeNode.Nodes.Add(item.Name.ToString()).Nodes.Add(item.Value);                }                else                {                    TreeNode node = treeNode.Nodes.Add(item.Name.ToString());                    LoadXmlToTreeView(item, node);                }            }        } 
通过XmlDocument加载

 XmlDocument xmlDoc = new XmlDocument();            xmlDoc.Load("rss_sportslq.xml");            XmlElement rootElement = xmlDoc.DocumentElement;            TreeNode treeViewCollection=treeView1.Nodes.Add(rootElement.Name);            LoadXmlToTreeViewByXmlDocument(rootElement, treeViewCollection.Nodes);
private void LoadXmlToTreeViewByXmlDocument(XmlElement rootElement, TreeNodeCollection treeNodeCollection)        {            foreach (XmlNode item in rootElement)            {                if (item.NodeType==XmlNodeType.Element)                {                   TreeNode node=treeNodeCollection.Add(item.Name);                   LoadXmlToTreeViewByXmlDocument((XmlElement)item, node.Nodes);                }                else if(item.NodeType==XmlNodeType.CDATA||item.NodeType==XmlNodeType.Text)                {                    treeNodeCollection.Add(item.InnerText);                }            }        }





0 0
原创粉丝点击