xmlreader與
sax讀取器類似,不過前者是提取模式(只進唯讀的游標),後者是推送模式(將事件推送到應用程式)。
xmlreader的優點是:
1.簡化狀態管理
2.可以有多個輸入流
3.提取模式可以作為推送模式的基礎,反之不行。
4.提供乙個可以將字串直接寫入緩衝區,避免多餘位元組的的複製。
5.有選擇的處理xml
流,可以預先設定處理
xml流的方式。
下面的****邏輯簡單不會出現異常所以沒有加入異常處理,只是作為測試使用。
1xmlwriters該編寫器提供快速,非快取,只進的方式來生成包含xmlxmlreader示例34
using system;
5using system.xml;67
class test
8 25
catch (exception ex)
26
29finally
30
34 }
3536
private
static
void readxml(xmlreader reader)
37 />
", reader.name);
49 }
50else
51
", reader.name);
53if (reader.hasattributes) //
屬性?54 =\"\"
", reader.name, reader.value);
58 }
59 }
60 console.writeline("
>
", reader.name);
61 }
62break;
63case xmlnodetype.text:
64 console.writeline(reader.value);
65break;
66case xmlnodetype.cdata:
67 console.writeline("
", reader.value);
68break;
69case xmlnodetype.processinginstruction:
70 console.writeline("
?>
", reader.name, reader.value);
71break;
72case xmlnodetype.comment:
73 console.writeline("
", reader.value);
74break;
75case xmlnodetype.xmldeclaration:
76 console.writeline("
<?xml version='1.0'?>
");77
break;
78case xmlnodetype.document:
79break;
80case xmlnodetype.documenttype:
81 console.writeline("
", reader.name, reader.value);
82break;
83case xmlnodetype.entityreference:
84 console.writeline(reader.name);
85break;
86case xmlnodetype.endelement:
87 console.writeline("
", reader.name);
88break;
89 }
90 }
91 }
92catch (xmlexception ex)
93
96 }
97 }
資料的流檔案,優點基本和前者一樣。
注意:使用 xmlreader,在呼叫 close 方法前,不會讀取元素和特性。
1基本用法很簡單,就是輸出前後開關標籤 ,主要使用這三個方法writestartelement() writer.writevalue() writeendelement()using system.xml;23
class program
6
18private
static
void writexml(xmlwriter writer)
19
27private
static
void writechildnode(xmlwriter writer, string title, string author, string price)
28
45 }
46 }
注意: xmlwriter 方法輸出 xml 時,在呼叫 close 方法前,不會寫入元素和特性。
XML 讀寫(基於流的操作)
基於流的 xml 處理 net framework 允許你使用 system.xml 命名空間 以及它的子命名空間 中的一組類來操作 xml 資料。有兩個基於流的類 xmltextreader 和 xmltextwriter 它們對簡單的 xml 處理非常有效。net 通過兩種方式把 xml 資料寫...
Linux 檔案操作筆記
一 講解open write read lseek close函式的使用 方法 先講解每個函式的用法,然後編寫 以具體的例子進行 檔名稱 open.c 思路 1 呼叫open函式新建乙個檔案 2 呼叫write函式寫檔案 3 呼叫lseek函式移動檔案指標到檔案頭部 4 呼叫read函式讀取檔案內容...
nodejs檔案操作筆記
nodejs新增了流的概念,通過流操作檔案如行雲流水,比早前便利暢快多了。先來第乙個例子,我們建乙個stream.js檔案,裡面內容如下 var fs require fs var a fs.createreadstream source.txt a.pipe fs.createwritestrea...