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

解析.Net框架下的XML編程技術[2]

2013-11-13 12:14:23  來源: .NET編程 

using System;

using SystemXml;

namespace ReadXML

{

class Class

{

static void Main( string[] args )

{

int ws = ;

int pi = ;

int dc = ;

int cc = ;

int ac = ;

int et = ;

int el = ;

int xd = ;

XmlTextReader textReader = new XmlTextReader(C:\\booksxml);

while (textReaderRead())

{

XmlNodeType nType = textReaderNodeType;

// 節點類型為XmlDeclaration

if (nType == XmlNodeTypeXmlDeclaration)

{

ConsoleWriteLine(Declaration: + textReaderNameToString());

xd = xd + ;

}

// 節點類型為Comment

if( nType == XmlNodeTypeComment)

{

ConsoleWriteLine(Comment: + textReaderNameToString());

cc = cc + ;

}

// 節點類型為Attribute

if( nType == XmlNodeTypeAttribute)

{

ConsoleWriteLine(Attribute: + textReaderNameToString());

ac = ac + ;

}

// 節點類型為Element

if ( nType == XmlNodeTypeElement)

{

ConsoleWriteLine(Element: + textReaderNameToString());

el = el + ;

}

// 節點類型為Entity

if ( nType == XmlNodeTypeEntity )

{

ConsoleWriteLine(Entity: + textReaderNameToString());

et = et + ;

}

// 節點類型為Process Instruction

if( nType == XmlNodeType ProcessInstruction )

{

ConsoleWriteLine(Process Instruction: + textReaderNameToString());

pi = pi + ;

}

// 節點類型為DocumentType

if( nType == XmlNodeTypeDocumentType)

{

ConsoleWriteLine(DocumentType: + textReaderNameToString());

dc = dc + ;

}

// 節點類型為Whitespace

if ( nType == XmlNodeTypeWhitespace )

{

ConsoleWriteLine(WhiteSpace: + textReaderNameToString());

ws = ws + ;

}

}

// 在控制台中顯示每種類型的數目

ConsoleWriteLine(Total Comments: + ccToString());

ConsoleWriteLine(Total Attributes: + acToString());

ConsoleWriteLine(Total Elements: + elToString());

ConsoleWriteLine(Total Entity: + etToString());

ConsoleWriteLine(Total Process Instructions: + piToString());

ConsoleWriteLine(Total Declaration: + xdToString());

ConsoleWriteLine(Total DocumentType: + dcToString());

ConsoleWriteLine(Total WhiteSpaces: + wsToString());

}

}

}

  以上我向大家介紹了如何運用XmlTextReader類的對象來讀取XML文檔並根據節點的NodeType屬性來取得其節點類型信息同時XmlReader這個基類還有XmlNodeReader和XmlValidatingReader等派生類它們分別是用來讀取XML文檔的節點和模式的限於篇幅這裡就不介紹了讀者可以參考有關資料

  四寫XML文檔的方法

  XmlWriter類包含了寫XML文檔所需的方法和屬性它是XmlTextWriter類和XmlNodeWriter類的基類該類包含了WriteNodeWriteStringWriteAttributesWriteStartElement以及WriteEndElement等一系列寫XML文檔的方法其中有些方法是成對出現的比如你要寫入一個元素你首先得調用WriteStartElement方法接著寫入實際內容最後是調用WriteEndElement方法以表示結束該類還包含了WriteStateXmlLang和XmlSpace等屬性其中WriteState屬性表明了寫的狀態因為XmlWriter類包含了很多寫XML文檔的方法所以這裡只是介紹最主要的幾種下面我們通過其子類XmlTextWriter類來說明如何寫XML文檔

  首先我們要創建一個XmlTextWriter類的實例對象該類的構造函數XmlTextWriter有三種重載形式其參數分別為一個字符串一個流對象和一個TextWriter對象這裡我們運用字符串的參數形式該字符串就指明了所要創建的XML文件的位置方法如下

XmlTextWriter textWriter = New XmlTextWriter(C:\\myXmFilexml null);
  在創建完對象後我們調用WriterStartDocument方法開始寫XML文檔在完成寫工作後就調用WriteEndDocument結束寫過程並調用Close方法將它關閉在寫的過程中我們可以調用WriteComment方法來添加說明通過調用WriteString方法來添加一個字符串通過調用WriteStartElement和WriteEndElement方法對來添加一個元素通過調用WriteStartAttribute和WriteEndAttribute方法對來添加一個屬性我們還可以通過調用WriteNode方法來添加整一個節點其它的寫的方法還包括WriteProcessingInstruction和WriteDocType等等下面的實例就是介紹如何具體運用這些方法來完成XML文檔的寫工作的

[]  []  []  


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