Xml之Linq如何遍歷儲存的數據

PHPz
發布: 2017-04-23 16:40:57
原創
1943 人瀏覽過

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

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



  
    序号
  
  
    检验项目
  
  
    单位
  
  
    标准要求
  
  
    检验结果
  
  
    结论
  
登入後複製

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

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

   private void GetTestResultXml()
    {
        List iTestResultXml=new List();
        //定义并从xml文件中加载节点(根节点)
        XElement rootNode = XElement.Load(@"..\..\Xml\testResult.xml");   
        //查询语句: 获得根节点下name子节点(此时的子节点可以跨层次:孙节点、重孙节点......)
        IEnumerable targetNodes = from target in rootNode.Descendants("column")
                                            select target;
        foreach (XElement node in targetNodes)
        {
            iTestResultXml.Add(node.Value);
        }
    }
登入後複製

這樣我們就可以獲得 標籤裡所有的資料了,並且把他們儲存到列表iTestResultXml中。

在testResult.xml檔案中,我們看到, 標籤設定了本身的id,而此id並不是他的數據,而是他的一個屬性,

那麼如果我們想獲得他的屬性而不是他標籤裡的內容該如何獲得呢?

private void GetTestResultXml()
    {
        List iXmlID = new List();
        //定义并从xml文件中加载节点(根节点)
        XElement rootNode = XElement.Load(@"..\..\Xml\testResult.xml");   
        //查询语句: 获得根节点下name子节点(此时的子节点可以跨层次:孙节点、重孙节点......)
        IEnumerable targetNodes = from target in rootNode.Descendants("column")
                                            select target;
        foreach (XElement node in targetNodes)
        {
             iXmlID.Add(node.Attribute("id").Value);   //获取指定属性的方法
        }
    }
登入後複製

這樣我們就取得了 標籤裡id屬性的列表iXmlID。

以上是Xml之Linq如何遍歷儲存的數據的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!