在c 中XML檔案的讀寫

2021-04-26 17:10:53 字數 1921 閱讀 2093

在c#中xml檔案的讀寫,我個人認為有以下幾種:

一:讀取資料

1.用xmldocument 類

xmldocument xml = new xmldocument();

xml.load("mycon.xml");

xmlnode xn = xml.documentelement;

foreach (xmlnode x in xn.childnodes)

}2.用dataset資料集讀取或者datatable也行

dataset ds = new dataset();

ds.readxml(path);

或datatable dt = new datatable();

dt.readxml(path);

很明顯這種讀寫是很方便,也很強大。

3.用xmldocument類

xmldocument doc = new xmldocument ( ) ;

trycatch

//設定讀取xml檔案的起點,如果不設定的話則預設從根節點開始訪問

xmlnode merchandisenode = doc.selectsinglenode("/merchandise");

//判斷開始節點是否存在

if (merchandisenode != null)

//如果讀取得節點為end,則讀取它的內容作為字串返回

if (nodereader.name == "price")}}

}二:寫入資料

1.xmlwriter類

xmlwritersettings xws = new xmlwritersettings();

xws.indent = true;//設定資料的縮排對齊

xmlwriter writer = xmlwriter.create("txt.xml", xws);

writer.writestartelement("stock");

writer.writeattributestring("symbol", "bbs");

writer.writeelementstring("price", "12", "2222");

writer.writeelementstring("change", xmlconvert.tostring(33));

writer.writeelementstring("volume", "bbb");

writer.writeendelement();

writer.close();

2.xmltextwriter類

xmltextwriter twrite = new xmltextwriter(「dt.xml, encoding.getencoding("gb2312"));

twrite.formatting = formatting.indented;

twrite.writestartelement("student");

twrite.writeattributestring("sock", "new");

twrite.writeelementstring("name", "aaa");

twrite.writeelementstring("***", "男");

twrite.writeelementstring("age", "20");

twrite.writeendelement();

twrite.close();

3.dataset的寫入或datatable寫入

dataset ds = new dataset();

ds.tables[0].writexml(path);

或datatable dt = new datatable();

dt.writexml(path);

其實這兩種方法就是乙個樣的,都會自動生成xml結構。

C 中XML檔案的讀寫操作

先上要解析的xml檔案 我這邊的xml名為config.xml,也請不要糾結這些標籤的含義,就這麼個意思 23 46 2 34本例中要求此xml檔案要放在跟exe檔案同級目錄下面,也就是debug目錄下面。類原始碼如下 using system using system.collections.ge...

C 讀寫XML檔案

phone.xml 加菲爾德 5555555 紐約26 10 1978 邁克6666666 紐約12 02 1978 使用document讀取及寫入xml方法 使用xmltextwriter寫入xml方法 writer.writestartdocument writer.writestartelem...

C 讀寫XML檔案

using system.xml 初始化乙個xml例項 xmldocument xml new xmldocument 指定乙個節點 xmlnode root xml.selectsinglenode root 獲取節點下所有直接子節點 xmlnodelist childlist root.chil...