C#解析xml(获取指定节点值)

今天的工作遇到了c#解析xml的技术点,很久没做c#开发了,忘的都差不多了。

在网上搜了一些不太满足我的开发需要,就自己写了一个,做一下记录,以便以后再用的时候一看就明了。

这个解析xml的例子主要是获取指定节点的值,没其他的功能,很简单

要解析的xml

<?xml version="1.0" encoding="gb2312" ?> 
 <DataDictionaryUpdateInfo>
    <!--更新标识1:启动更新 0:不用更新-->
   <UpdateTarg>true</UpdateTarg>
  <!--最新版本号-->
    <Version>11</Version>

   <!--字典项-->
   <DictionaryItemList>
   <DictionaryItem>
   <TYPE>职业类型</TYPE>
   <DESCRIPTION>职业类型</DESCRIPTION>
   <ID>101</ID>
   <NAME>农业</NAME>
  </DictionaryItem>
   <DictionaryItem>
   <TYPE>职业类型</TYPE>
   <DESCRIPTION>职业类型</DESCRIPTION>
   <ID>101</ID>
   <NAME>农业</NAME>
  </DictionaryItem>
   <DictionaryItem>
   <TYPE>职业类型</TYPE>
   <DESCRIPTION>职业类型</DESCRIPTION>
   <ID>101</ID>
   <NAME>农业</NAME>
  </DictionaryItem>
   </DictionaryItemList>
  
</DataDictionaryUpdateInfo>

 

首先要引入命名空间System.Xml

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Xml;
using System.IO;

namespace 读XML测试
{
    class Program
    {
        static void Main(string[] args)
        {

               //Directory.GetCurrentDirectory() 这个方法获取可执行程序的目录
            Stream stream = new FileStream(Directory.GetCurrentDirectory() + "
\\text.xml",FileMode.Open);
            XmlDocument xml = new XmlDocument();
            xml.Load(stream);
            XmlNode DataDictionaryUpdateInfo = xml.SelectSingleNode("DataDictionaryUpdateInfo");
            Console.WriteLine("是否更新:"+DataDictionaryUpdateInfo.SelectSingleNode("UpdateTarg").InnerText);
            Console.WriteLine("最新版本号:" + DataDictionaryUpdateInfo.SelectSingleNode("Version").InnerText);
            XmlNodeList list = DataDictionaryUpdateInfo.SelectSingleNode("DictionaryItemList").SelectNodes("DictionaryItem");
            foreach(XmlNode node in list){
                Console.WriteLine("-------------------------------------------------------------");
                Console.WriteLine("职业类型:" + node.SelectSingleNode("TYPE").InnerText.Trim());
                Console.WriteLine("职业描述:" + node.SelectSingleNode("DESCRIPTION").InnerText.Trim());
                Console.WriteLine("职业ID:" + node.SelectSingleNode("ID").InnerText.Trim());
                Console.WriteLine("职业名称:" + node.SelectSingleNode("NAME").InnerText.Trim());

            }
        }
    }
}

效果如下图:


完。

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页