成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

C# 操作XML之讀取Xml淺析

開發 后端
C# 操作XML之讀取Xml主要向你介紹了C# 操作XML中的讀取Xml文件的實現,那么具體是如何實現的呢?本文就向你展示具體內容。

C# 操作XML之讀取Xml的作用:如果我們有現成的Xml文檔,那么,我們怎么取到我們感興趣的值呢?

還是以上邊的文檔為例,我們看到根節點下邊有兩個節點,它們的名字都是Game,那么用節點的名稱,我們是無法分辨出哪一個節點是“文明3”,哪一個節點是“帝國時代”的!!!

那么,當我想知道“文明3”的價格時,就應該使用Xml文檔對象下的SelectSingleNode方法。

C# 操作XML之讀取Xml的這個方法有兩個重載的版本

◆一個是當Xml文檔沒有命名空間時使用的,一個參數SelectSingleNode(string xpath)直接傳入xpath即可。

◆另一個是當Xml文檔有命名空間時使用的,兩個參數SelelctSingleNode(string xpath,XmlNamespaceManager nsmgr),***個參數還是xpath,第二個參數是XmlNamespaceManager對象,由于我們的Xml是有命名空間的,所以我們要使用第二種方法!首先我們要建立一個XmlNamespaceManager對象,建立的方法為XmlNamespaceManager nsmgr = new XmlNamespaceManager(new XmlDocument().NameTable);建立完對象后,我們就要開始為nsmgr增加我們的命名空間了(注意,這里加的命名空間要與Xml實際的相對應,但前輟名可不同),增加的方法如下:nsmgr.AddNamespace("v","www-shop-game"),好了,準備工作完成了,現在可以使用SelectSingleNode方法了

  1. string price = xml.SelectSingleNode(  
  2.  
  3. "v:Games/v:Game[@name='文明3']/Price",nsmgr).InnerText 

請注意,如果Xml文檔里沒有明確指出當前節點的命名空間,那么當前節點的命名空間繼承其父節點的命名空間

假設我們剛才生成的Xml文檔已存在D:\Xml目錄下了,文件的名字就叫sellgame.xml,完整的代碼如下:

  1. XmlDocument xml = new XmlDocument();  
  2. xml.Load("D:\\Xml\\sellgame.xml")        
  3. XmlNamespaceManager nsmgr =   
  4. new XmlNamespaceManager(new XmlDocument().NameTable);  
  5.  //建立Xml命名空間管理器對象  
  6. nsmgr.AddNamespace("v","www-shop-game");  
  7. //增加命名空間  ,C# 操作XML之讀取Xml
  8. string price = xml.SelectSingleNode(  
  9. "v:Games/v:Game[@name='文明3']/Price",nsmgr).InnerText;  
  10. //取得相應的節點值   

現在,如果這家軟件經銷商加增加一種新的產品:文明3的典藏版!那么我們的Xml文檔就要進行相應的擴充了:

  1. ﹤?xml version="1.0" encoding="utf-8" ?﹥  
  2. ﹤v:Games xmlns:v="www-shop-game"﹥  
  3.     ﹤v:Game name="文明3" type="standard"﹥  
  4.         ﹤Price﹥100﹤/Price﹥  
  5.     ﹤/Game﹥  //C# 操作XML之讀取Xml
  6.     ﹤v:Game name="文明3" type="classic"﹥   
  7.         ﹤Price﹥500﹤/Price﹥  
  8.     ﹤/Game﹥  
  9.     ﹤v:Game name="帝國時代"﹥  
  10.         ﹤Price﹥200﹤/Price﹥  
  11.     ﹤/Game﹥  
  12. ﹤/Games﹥ 

這時當我們想要取到全部與“文明3”有關的節點時,該如何進行呢?我們可以使用SelectNodes方法,該方法大體上與SelectSingleNode方法一樣,也是兩次重載,但此方法返回一個XmlNodeList對象,即一個XmlNode數組

C# 操作XML之讀取Xml的實現:當我們想要取到全部與“文明3”有關的節點時,可以這樣:

  1. XmlNamespaceManager nsmgr =   
  2. new XmlNamespaceManager(  
  3. new XmlDocument().NameTable);    
  4.   //建立Xml命名空間管理器對象  
  5. nsmgr.AddNamespace("v","www-shop-game");   
  6.  //增加命名空間  ,C# 操作XML之讀取Xml
  7. XmlNodeList nodeList = xml.SelectNodes(  
  8. "v:Games/v:Game[@name='文明3']/Price",nsmgr);     
  9.  //取得相應的節點數組     

當我們要取節點的屬性值及節點的值時,都可以使用InnerText這個屬性。

C# 操作XML之讀取Xml的操作就向你介紹到這里,希望對你了解和學習C# 操作XML之讀取Xml有所幫助。

【編輯推薦】

  1. C# 操作Excel之Excel操作方法調用
  2. C# 操作Excel基礎實例淺析
  3. C# 操作Excel之讀取Excel操作淺析
  4. C# 操作Excel之寫入Excel操作淺析
  5. C# 操作XML之建立Xml對象淺析
責任編輯:仲衡 來源: gkplinux@126 的博客
相關推薦

2009-08-18 16:30:41

C# 操作XML

2009-08-12 15:26:38

C#讀取XML文檔

2009-08-12 16:26:30

C#讀取XML文檔

2009-09-17 09:20:45

C#操作XML

2009-08-12 16:46:22

C#讀取XML文檔

2009-08-19 16:42:41

C#如何使用XML

2009-09-09 13:57:28

C# XML解析

2009-08-18 16:14:05

C# 操作Excel

2009-09-09 18:00:55

C# XML編程

2009-08-19 15:55:42

C#操作Access

2009-08-18 16:49:05

C# 操作XML

2009-08-19 13:25:53

C#操作注冊表

2009-08-25 14:59:39

C# XML序列化應用

2009-09-09 15:54:48

C# XML序列化

2009-08-24 17:58:19

C#讀取XML文件

2009-09-09 18:20:29

C# XML編程

2009-08-19 16:01:24

C#操作Access

2009-09-09 16:57:48

2009-08-18 17:05:08

C#操作xml文件

2009-08-20 10:25:37

C#操作內存
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美亚洲另类丝袜综合网动图 | 国产精品爱久久久久久久 | 午夜免费av | 在线观看免费av网 | 91社区在线观看高清 | 天天综合久久 | 紧缚调教一区二区三区视频 | 九九99精品 | 99re视频 | gogo肉体亚洲高清在线视 | 欧美二三区 | 色资源在线 | 99久久久国产精品 | 日韩av在线一区 | 精品美女久久久 | 国产一区二区三区 | 在线观看av网站永久 | 亚洲视频免费观看 | 日本超碰 | 黄网站在线观看 | 久久精品国产免费 | 91视频免费视频 | 中文字幕动漫成人 | 成人不卡 | 亚洲乱码一区二区三区在线观看 | 国产精品视频在线免费观看 | 一区二区三区视频免费看 | 亚洲一区 | 久色激情 | 夜夜夜夜夜夜曰天天天 | 一区二区三区四区视频 | 伊人精品一区二区三区 | 欧美成人激情 | 日韩av一区二区在线观看 | 噜久寡妇噜噜久久寡妇 | 天天干视频网 | 99久久日韩精品免费热麻豆美女 | 久久精品欧美一区二区三区不卡 | 中文字幕亚洲一区二区va在线 | 在线 丝袜 欧美 日韩 制服 | 国产精品久久久久久久久免费相片 |