溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Xml之Linq怎么遍歷存儲的數據

發布時間:2020-09-22 11:52:11 來源:億速云 閱讀:171 作者:小新 欄目:編程語言

這篇文章將為大家詳細講解有關Xml之Linq怎么遍歷存儲的數據,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

很多時候我們需要用到Xml文件,但是什么是Xml文件呢?

以下我們用一個例子來說明:testResult.xml文件

<?xml version="1.0" encoding="utf-8" ?>
<Columns>
  <column id="序號">
    <name>序號</name>
  </column>
  <column id="檢驗項目">
    <name>檢驗項目</name>
  </column>
  <column id="單位">
    <name>單位</name>
  </column>
  <column id="標準要求">
    <name>標準要求</name>
  </column>
  <column id="檢驗結果">
    <name>檢驗結果</name>
  </column>
  <column id="結論">
    <name>結論</name>
  </column>
</Columns>

以上就是一個Xml文件,我們知道,Xml文件是用來存儲數據的,那么我們如何遍歷這些數據呢?

其實最簡單的方法,就是使用Linq:

   private void GetTestResultXml()
    {
        List<string> iTestResultXml=new List<string>();
        //定義并從xml文件中加載節點(根節點)
        XElement rootNode = XElement.Load(@"..\..\Xml\testResult.xml");   
        //查詢語句: 獲得根節點下name子節點(此時的子節點可以跨層次:孫節點、重孫節點......)
        IEnumerable<XElement> targetNodes = from target in rootNode.Descendants("column")
                                            select target;
        foreach (XElement node in targetNodes)
        {
            iTestResultXml.Add(node.Value);
        }
    }

這樣我們就可以獲得 <column/> 標簽里所有的數據了,并把他們存儲到列表iTestResultXml中。

在testResult.xml文件中,我們看到, <column/> 標簽設置了本身的id,而此id并不是他的數據,而是他的一個屬性,

那么如果我們想獲得他的屬性而不是他標簽里的內容該如何獲得呢?

private void GetTestResultXml()
    {
        List<string> iXmlID = new List<string>();
        //定義并從xml文件中加載節點(根節點)
        XElement rootNode = XElement.Load(@"..\..\Xml\testResult.xml");   
        //查詢語句: 獲得根節點下name子節點(此時的子節點可以跨層次:孫節點、重孫節點......)
        IEnumerable<XElement> targetNodes = from target in rootNode.Descendants("column")
                                            select target;
        foreach (XElement node in targetNodes)
        {
             iXmlID.Add(node.Attribute("id").Value);   //獲取指定屬性的方法
        }
    }

這樣我們就獲取了 <column/> 標簽里id屬性的列表iXmlID。

關于Xml之Linq怎么遍歷存儲的數據就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女