激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - C# - C#程序中使用LINQ to XML來查詢XML格式數據的實例

C#程序中使用LINQ to XML來查詢XML格式數據的實例

2021-11-15 14:36DebugLZQ C#

這篇文章主要介紹了C#程序中使用LINQ to XML來查詢XML格式數據的實例,LINQ to XML是.NET框架中集成的接口,可以將XML數據放到內存中進行處理,需要的朋友可以參考下

關于linq to xml
linq to xml 是一種啟用了 linq 的內存 xml 編程接口,使用它,可以在 .net framework 編程語言中處理 xml。
它將 xml 文檔置于內存中,這一點很像文檔對象模型 (dom)。 您可以查詢和修改 xml 文檔,修改之后,可以將其另存為文件,也可以將其序列化然后通過網絡發送。 但是,linq to xml 與 dom 不同: 它提供一種新的對象模型,這是一種更輕量的模型,使用也更方便,這種模型利用了 visualc# 2008 在語言方面的改進。
linq to xml 最重要的優勢是它與 language-integrated query (linq) 的集成。 由于實現了這一集成,因此,可以對內存 xml 文檔編寫查詢,以檢索元素和屬性的集合。 linq to xml 的查詢功能在功能上(盡管不是在語法上)與 xpath 和 xquery 具有可比性。 visual c# 2008 集成 linq 后,可提供更強的類型化功能、編譯時檢查和改進的調試器支持。
通過將查詢結果用作 xelement 和 xattribute 對象構造函數的參數,實現了一種功能強大的創建 xml 樹的方法。 這種方法稱為“函數構造”,利用這種方法,開發人員可以方便地將 xml 樹從一種形狀轉換為另一種形狀。
linq to xml 提供了改進的 xml 編程接口,這一點可能與 linq to xml 的 linq 功能同樣重要。 通過 linq to xml,對 xml 編程時,您可以實現任何預期的操作,包括:

  • 從文件或流加載 xml。
  • 將 xml 序列化為文件或流。
  • 使用函數構造從頭開始創建 xml。
  • 使用類似 xpath 的軸查詢 xml。
  • 使用 add、remove、replacewith 和 setvalue 等方法對內存 xml 樹進行操作。
  • 使用 xsd 驗證 xml 樹。

使用這些功能的組合,可將 xml 樹從一種形狀轉換為另一種形狀。

實例
在前一段時間開發的護士站項目中,我是for循環xmlreader的方式遍歷xml文件的。也能完成相關的需求,且函數封裝好了以后,可以直接調用,也挺方便。

下面用linq to xml來展現。具體更詳細的東西可以去查msnd。

客戶端的xml文件如下,為了展現方便我只取了3項:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?xml version="1.0"?>
<rowset>
 <row>
 <就診序號>1</就診序號>
 <就診日期>2012-06-11</就診日期>
 <病人id>00002468</病人id>
 <姓名>吳建平</姓名>
 <性別>男</性別>
 <年齡>42</年齡>
 <就診科室>2981</就診科室>
 </row>
 <row>
 <就診序號>2</就診序號>
 <就診日期>2012-06-11</就診日期>
 <病人id>00002467</病人id>
 <姓名>蔡蕊</姓名>
 <性別>女</性別>
 <年齡>33</年齡>
 <就診科室>2981</就診科室>
 </row>
 <row>
 <就診序號>3</就診序號>
 <就診日期>2012-06-11</就診日期>
 <病人id>412905</病人id>
 <姓名>aaa</姓名>
 <性別>男</性別>
 <年齡>24</年齡>
 <就診科室>2981</就診科室>
 </row>
</rowset>

怎么展現呢?關注form1_load方法如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
using system;
using system.linq;
using system.windows.forms;
using system.xml.linq;
 
namespace lint2xmldatabinding
{
 public partial class form1 : form
 {
  public form1()
  {
   initializecomponent();
  }
 
  private void form1_load(object sender, eventargs e)
  {
   string xmlfilepath = @"./當前在科病人基本信息.xml";
   xdocument doc = xdocument.load(xmlfilepath);
 
   var query = from p in doc.descendants("row")//doc.descendants("row")
      where p.element("就診序號").value!="1"
      select new { a = p.element("就診序號").value, b = p.element("病人id").value, c = p.element("姓名").value ,d=p.element("性別").value };
   
   datagridview1.datasource= query.tolist();
   
  }
 }
}

程序結果如下:

C#程序中使用LINQ to XML來查詢XML格式數據的實例

本篇博文用來示例的demo很簡單,目的單純為了使用linq。操作xml文件的方法有很多,不用linq當然也沒什么問題。

其實,迄今為止,.net framework一共提供了兩套處理xml數據的類庫:

一、即debuglzq前面項目里用的的符合dom標準的類庫:寶庫xmldocument、xmlelement、xmlnode、xmlattribute等類。這套類庫的特點是中規中矩、功能強大,但也背負了太多xml的傳統和復雜。

二、以linq為基礎的類庫:包括xdocument、xelement、xnode、xattribute等類。這套類庫的特點是可以使用linq進行查詢和操作,方便快捷。

延伸 · 閱讀

精彩推薦
  • C#WPF 自定義雷達圖開發實例教程

    WPF 自定義雷達圖開發實例教程

    這篇文章主要介紹了WPF 自定義雷達圖開發實例教程,本文介紹的非常詳細,具有參考借鑒價值,需要的朋友可以參考下...

    WinterFish13112021-12-06
  • C#C# 實現對PPT文檔加密、解密及重置密碼的操作方法

    C# 實現對PPT文檔加密、解密及重置密碼的操作方法

    這篇文章主要介紹了C# 實現對PPT文檔加密、解密及重置密碼的操作方法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下...

    E-iceblue5012022-02-12
  • C#C#實現XML文件讀取

    C#實現XML文件讀取

    這篇文章主要為大家詳細介紹了C#實現XML文件讀取的相關代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    Just_for_Myself6702022-02-22
  • C#深入解析C#中的交錯數組與隱式類型的數組

    深入解析C#中的交錯數組與隱式類型的數組

    這篇文章主要介紹了深入解析C#中的交錯數組與隱式類型的數組,隱式類型的數組通常與匿名類型以及對象初始值設定項和集合初始值設定項一起使用,需要的...

    C#教程網6172021-11-09
  • C#C#通過KD樹進行距離最近點的查找

    C#通過KD樹進行距離最近點的查找

    這篇文章主要為大家詳細介紹了C#通過KD樹進行距離最近點的查找,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    帆帆帆6112022-01-22
  • C#C#裁剪,縮放,清晰度,水印處理操作示例

    C#裁剪,縮放,清晰度,水印處理操作示例

    這篇文章主要為大家詳細介紹了C#裁剪,縮放,清晰度,水印處理操作示例,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    吳 劍8332021-12-08
  • C#C#設計模式之Visitor訪問者模式解決長隆歡樂世界問題實例

    C#設計模式之Visitor訪問者模式解決長隆歡樂世界問題實例

    這篇文章主要介紹了C#設計模式之Visitor訪問者模式解決長隆歡樂世界問題,簡單描述了訪問者模式的定義并結合具體實例形式分析了C#使用訪問者模式解決長...

    GhostRider9502022-01-21
  • C#Unity3D實現虛擬按鈕控制人物移動效果

    Unity3D實現虛擬按鈕控制人物移動效果

    這篇文章主要為大家詳細介紹了Unity3D實現虛擬按鈕控制人物移動效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一...

    shenqingyu060520232410972022-03-11
主站蜘蛛池模板: 国产精品久久久久久久不卡 | 久青草免费视频 | 黄色网址在线免费 | 色日本视频 | 91精品国产网站 | 精品国产乱码一区二区三区四区 | 色操网 | 蜜桃一本色道久久综合亚洲精品冫 | 日本视频在线播放 | 毛片一级免费看 | 色综合久久久久久久久久久 | 国产精品久久久久av | 亚洲视频在线免费看 | 国产精品成年片在线观看, 日韩毛片网 | 黄色片网站免费观看 | 久章草在线视频 | 久在线观看福利视频69 | 成人福利视频 | 香蕉在线看 | 日本高清黄色片 | 久久免费视频一区 | 媚药按摩痉挛w中文字幕 | 亚洲精品在线观看免费 | 国产91精品欧美 | 欧美成人精品一区二区男人小说 | 久久久久久久久久久国产精品 | 国产精品久久久久久久四虎电影 | 免费观看国产精品视频 | 蝌蚪久久窝 | 亚洲国产女同久久 | 欧美韩国日本在线 | 毛片一区二区三区四区 | 日本在线国产 | 日韩伦理电影免费观看 | 欧美五月婷婷 | 国产日产精品一区二区三区四区 | av免费不卡国产观看 | 欧美性黄| 国产成人精品午夜视频' | 成人在线视频免费观看 | 一级毛片在线免费观看视频 |