熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

C#高級編程:使用 XmlTextReader類[3]

2013-11-13 11:06:38  來源: .NET編程 
    ——此文章摘自《C#高級編程(第版)》定價元 特價元 購買

          else
          {
             //otherwise move on
             trRead();
          }
       }
    }
    private void LoadList(XmlReader reader)
    {
       try
       {
          listBoxItemsAdd(readerReadElementString());
       }
       // if an XmlException is raised ignore it
       catch(XmlException er){}
    }

    運行這段代碼結果應與前面示例的結果是一樣的因此完成這個任務有多種不同的方式這體現了SystemXml命名空間中類的靈活性

    檢索屬性數據

    在運行示例代碼時注意在讀取節點時沒有看到屬性這是因為屬性不是文檔結構的一部分針對元素節點可以檢查屬性是否存在並可檢索屬性值

    例如如果有屬性HasAttributes就返回true否則就返回falseAttributeCount屬性確定屬性的個數GetAttribute方法按照名稱或索引來獲取屬性如果要一次迭代一個屬性就可以使用MoveToFirstAttribute() 和MoveToNextAttribute()方法

    下面的示例迭代XmlReaderSample中的屬性
    protected void button_Click (object sender SystemEventArgs e)
    {
       //set this path to match your data path structure
       string fileName = \\\\\\booksxml;
       //Create the new TextReader Object
       XmlTextReader tr = new XmlTextReader(fileName);
       //Read in node at a time      
       while(trRead())
       {
          //check to see if its a NodeType element
          if(trNodeType == XmlNodeTypeElement)
          {
             //if its an element then lets look at the attributes
             for(int i = ; i < trAttributeCount; i++) {
                listBoxItemsAdd(trGetAttribute(i));
          }
    }
    }

    這次查找元素節點找到一個節點後就迭代其所有的屬性使用GetAttribute()方法把屬性值加載到列表框中在本例中這些屬性是genrepublicationdate和ISBN

[]  []  []  


From:http://tw.wingwit.com/Article/program/net/201311/15181.html
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.