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());

            }
        }
    }
}

效果如下圖:


完。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章