基於流的XML檔案操作筆記

2021-09-08 08:27:47 字數 3038 閱讀 5765

xmlreader與

sax讀取器類似,不過前者是提取模式(只進唯讀的游標),後者是推送模式(將事件推送到應用程式)。

xmlreader的優點是:

1.簡化狀態管理

2.可以有多個輸入流

3.提取模式可以作為推送模式的基礎,反之不行。

4.提供乙個可以將字串直接寫入緩衝區,避免多餘位元組的的複製。

5.有選擇的處理xml

流,可以預先設定處理

xml流的方式。

下面的****邏輯簡單不會出現異常所以沒有加入異常處理,只是作為測試使用。

1

xmlreader示例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 }

xmlwriters該編寫器提供快速,非快取,只進的方式來生成包含xml

資料的流檔案,優點基本和前者一樣。

注意:使用 xmlreader,在呼叫 close 方法前,不會讀取元素和特性。

1

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 }

基本用法很簡單,就是輸出前後開關標籤 ,主要使用這三個方法writestartelement() writer.writevalue() writeendelement()

注意:  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...