摘要 組成.NET平臺的關鍵技術之一就是XML,這里簡單談談如何使用.NET中的XmlReader。
1. XMLReader簡介 XmlReader是一種快速、無緩沖、向前并只讀的游標,用于讀取XML文檔,并且隱藏了底層數據交換的復雜性。XmlReader作為一種"拉模型"較"推模型"的SAX有了多種優勢,最主要的一個就是它更易使用,其次性能更為提高、并減少了編程的難度。 XmlReader類是一個抽象類,XmlTextReader,XmlValidatingReader,和XmlNodeReader類都繼承自XmlReader類。XmlReader類有很多方法和屬性用來讀取XML文件的內容、查找XML元素的深度、判斷當前元素的內容是否為空,以及導航XML的屬性等。
2. XMLReader應用 在.NET構架中,XML類均被定義在System.Xml名稱空間中,如:XmlReader、XmlTextReader、 XmlValidatingReader、XmlNodeReader、XmlWriter、和XmlTextWriter,因此使用XmlReader時應該引入System.Xml。
下面是一個簡單的讀取XML的控制臺程序。 [Visual Basic] Imports System Imports System.Xml
Module Module1 Sub Main(ByVal CmdArgs() As String) Try Dim sFileName As String = CmdArgs(0) Dim xtr As New XmlTextReader(sFileName)
xtr.Read()
Console.WriteLine("<{0}>", xtr.Name) Console.WriteLine(xtr.ReadInnerXml()) Console.WriteLine("</{0}>", xtr.Name) xtr.Close() Catch eErr As Exception Console.WriteLine("Error:\t{0}", eErr.Message) End Try End Sub End Module
[C#] using System; using System.Xml;
namespace ConsoleApplicationXmlReader { class ClassXmlReader { static void Main(string[] args) { try { String sFileName = args[0]; XmlTextReader xtr = new XmlTextReader(sFileName); xtr.Read(); Console.WriteLine("<{0}>", xtr.Name); Console.WriteLine(xtr.ReadInnerXml()); Console.WriteLine("</{0}>", xtr.Name); xtr.Close(); } catch (Exception e) { Console.WriteLine("Error:\t{0}", e.Message); } return; } } }
測試使用的XML文件,People.xml <People> <Person> <Name> <FirstName>Joe</FirstName> <LastName>Suits</LastName> </Name> <Address> <Street>1800 Success Way</Street> <City>Redmond</City> <State>WA</State> <ZipCode>98052</ZipCode> </Address> <Job> <Title>CEO</Title> <Description>Wears the nice suit</Description> </Job> </Person>
<Person> <Name> <FirstName>Linda</FirstName> <LastName>Sue</LastName> </Name> <Address> <Street>1302 American St.</Street> <City>Paso Robles</City> <State>CA</State> <ZipCode>93447</ZipCode> </Address> <Job> <Title>Attorney</Title> <Description>Stands up for justice</Description> </Job> </Person> </People>
可以通過調用命令提示符運行程序,如:E:\>ConsoleApplication_XmlReader.exe people.xml
3. 小結 .NET的XmlReader提供了一種訪問XML數據的良好接口,讓開發人員更為輕松的讀取XML文件中的內容,使得快速應用.NET成為可能。
|