• 大小: 0.14M
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2024-05-01
  • 语言: C#
  • 标签: Xml  解析  文件  实例  

资源简介

XML文件解析方法

资源截图

代码片段和文件信息

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;
using System.xml.Linq;

namespace _01xml读写操作
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        //读取xml文件
        private void button1_Click(object sender EventArgs e)
        {
            #region 将xml文件递归加载到TreeView上

            //=============通过XDocument将xml文件递归加载到TreeView上==============
            ////1.读取xml文件(XDocument)
            ////1.加载xml文件
            //XDocument document = XDocument.Load(“rss_sportslq.xml“);
            ////2先获取根节点
            //XElement rootElement = document.Root;

            ////3.将xml的根元素加载到TreeView的根节点上
            //TreeNode rootNode = treeView1.Nodes.Add(rootElement.Name.ToString());

            ////4.递归加载
            //LoadxmlToTreeView(rootElement rootNode.Nodes);

            #endregion



            #region 通过xmlDocument将xml递归加载到TreeView上

            //1.加载xml文件到对象
            xmlDocument document = new xmlDocument();
            //将xml文件加载到dom对象上
            document.Load(“rss_sportslq.xml“);
            //获得xml的根节点(根元素)
            xmlElement rootElement = document.DocumentElement;
            //先把xml的根元素加载到TreeView上
            TreeNode rootNode = treeView1.Nodes.Add(rootElement.Name);

            //实现递归将xml加载到TreeView中
            LoadToTreeByxmlDocument(rootElement rootNode.Nodes);


            #endregion
        }

        private void LoadToTreeByxmlDocument(xmlElement rootElement TreeNodeCollection treeNodeCollection)
        {
            //循环rootElement下的所有子元素加载到treeNodeCollection集合中
            foreach (xmlNode item in rootElement.ChildNodes)
            {
                //在继续之前需要判断一下当前节点是什么类型的节点
                if (item.NodeType == xmlNodeType.Element)
                {
                    //如果当前节点是一个“元素”节点,则把当前节点加载到TreeView上
                    TreeNode node = treeNodeCollection.Add(item.Name);
                    //递归调用
                    LoadToTreeByxmlDocument((xmlElement)item node.Nodes);
                }
                else if (item.NodeType == xmlNodeType.Text | item.NodeType == xmlNodeType.CDATA)
                {
                    treeNodeCollection.Add(item.InnerText);
                }
            }

        }

        //通过XDocument的方式将xml元素递归加载到TreeView上。
        private void LoadxmlToTreeView(XElement rootElement TreeNodeCollection treeNodeCollection)
        {
            //获取根元素rootElement下的所有的子元素
            //rootElement.Elements();
            //遍历rootElement下的所有的子元素(直接子元素)
            foreach (XElement item in rootElement.Elements())
            {
                if (item.Elements().Count() == 0)
                {
                    treeNodeCollection.Add(item.Name.ToString()).Nodes.Add

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       2288  2013-06-16 16:55  Sln20130616.sln

     文件       3867  2013-06-16 15:58  01xml读写操作\01xml读写操作.csproj

     文件        227  2013-06-16 10:11  01xml读写操作\01xml读写操作.csproj.user

     文件      11776  2013-06-16 16:11  01xml读写操作\bin\Debug\01xml读写操作.exe

     文件      28160  2013-06-16 16:11  01xml读写操作\bin\Debug\01xml读写操作.pdb

     文件      11600  2013-06-16 16:04  01xml读写操作\bin\Debug\01xml读写操作.vshost.exe

     文件        490  2010-03-17 22:39  01xml读写操作\bin\Debug\01xml读写操作.vshost.exe.manifest

     文件        501  2013-06-16 10:47  01xml读写操作\bin\Debug\List.xml

     文件        517  2013-06-16 10:58  01xml读写操作\bin\Debug\ListNew.xml

     文件      11129  2013-06-16 15:19  01xml读写操作\bin\Debug\rss_sportslq.xml

     文件        201  2013-06-16 10:33  01xml读写操作\bin\Debug\school.xml

     文件        275  2013-06-16 10:11  01xml读写操作\bin\Debug\students.xml

     文件      12757  2013-06-16 15:30  01xml读写操作\Form1.cs

     文件       3786  2013-06-16 15:11  01xml读写操作\Form1.Designer.cs

     文件       5817  2013-06-16 15:11  01xml读写操作\Form1.resx

     文件       1052  2013-06-16 16:11  01xml读写操作\obj\x86\Debug\01xml读写操作.csproj.FileListAbsolute.txt

     文件        975  2013-06-16 15:14  01xml读写操作\obj\x86\Debug\01xml读写操作.csproj.GenerateResource.Cache

     文件       9040  2013-06-16 16:11  01xml读写操作\obj\x86\Debug\01xml读写操作.csprojResolveAssemblyReference.cache

     文件      11776  2013-06-16 16:11  01xml读写操作\obj\x86\Debug\01xml读写操作.exe

     文件      28160  2013-06-16 16:11  01xml读写操作\obj\x86\Debug\01xml读写操作.pdb

     文件       2855  2013-06-16 10:04  01xml读写操作\obj\x86\Debug\DesignTimeResolveAssemblyReferences.cache

     文件       6684  2013-06-16 16:11  01xml读写操作\obj\x86\Debug\DesignTimeResolveAssemblyReferencesInput.cache

     文件        180  2013-06-16 16:11  01xml读写操作\obj\x86\Debug\_01xml读写操作.Form1.resources

     文件        180  2013-06-16 16:11  01xml读写操作\obj\x86\Debug\_01xml读写操作.Properties.Resources.resources

     文件        295  2013-06-16 15:32  01xml读写操作\Orders.xml

     文件        499  2013-06-16 10:04  01xml读写操作\Program.cs

     文件       1366  2013-06-16 10:04  01xml读写操作\Properties\AssemblyInfo.cs

     文件       2888  2013-06-16 10:04  01xml读写操作\Properties\Resources.Designer.cs

     文件       5612  2013-06-16 10:04  01xml读写操作\Properties\Resources.resx

     文件       1105  2013-06-16 10:04  01xml读写操作\Properties\Settings.Designer.cs

............此处省略96个文件信息

评论

共有 条评论