c#操作xml時,要引入命名空間using system.xml
獲取根節點的方法:
1、知道根節點名稱:
xmlnode root = xmldoc.selectsinglenode("根節點名稱");
2、不知道根節點名稱:
xmlelement root = xmldoc.documentelement;
xml中node(節點)和element(元素)的區別(還是不太明白)
1、element是乙個小範圍的定義,必須含有完整資訊的結點才能叫做元素。例如:內容
,乙個元素一定是乙個節點,乙個節點不一定是乙個元素。
2、node是基本物件,attribute,element,text等都是node的子物件。
建立節點
1、createelement() 方法
有乙個引數,兩個引數,三個引數三種過載,引數型別均為string。
乙個引數:createelement("元素名稱")
兩個引數:createelement("元素名稱","元素的命名空間")
三個引數:createelement("元素的字首","元素的名稱","元素的命名空間")
2、createnode() 方法
三個引數 都為string型別
createnode("節點型別","節點名稱","節點命名空間")
四個引數 都為string型別
createnode("節點型別","節點的字首","節點名稱","節點命名空間")
問題:節點字首有什麼作用?結點命名空間有什麼作用?
增加節點:
增加節點屬性:
setattribute("屬性名","屬性值")方法
刪除節點屬性:
removeattribute("屬性名稱")
給節點新增資料:
1、給節點的innertext賦值
例子:xmlelement ename = doc.createelement("name");
ename.innertext = aaaaa;
2、新增xmltext節點,為其新增值
尋找某個節點(尋找name節點):
先找到根節點,找出根節點下的節點列表(xmlnodelist),遍歷每個節點。
再找每個節點下的節點列表,進行遍歷,指導找到所需要的節點。
方法:xmlnode root = xmldoc.selectsinglenode("msg");
xmlnodelist nodelist = root.childnodes;
foreach (xmlnode node in nodelist)}
刪除節點
removeall(無引數)
removechild(要移除的節點)
更新節點
1、replacechild(新節點,老節點)
建立乙個新節點,替換老節點
2、找到要更新的節點,重新設定其屬性和資料
用gridview顯示xml檔案中的資料
[c-sharp]view plain
copy
dataset ds =
newdataset();
));
gridview1.datasource = ds.tables[0];
gridview1.databind();
xml檔案
[xhtml]view plain
copy
xmlversion
="1.0"
encoding
="utf-8"
?>
<
bookstore
>
<
book
genre
="ee"
isbn
="2-3631-4"
>
<
title
>
三國演義
title
>
<
author
>
lfdfd
author
>
<
price
>
55.95
price
>
book
>
<
book
isbn
="2-3631-4"
>
<
title
>
cs從入門到精通
title
>
<
author
>
漲紅author
>
<
price
>
58.3
price
>
book
>
<
book
genre
="計算機"
isbn
="2-3631-4"
>
<
title
>
cs從入門到精通
title
>
<
author
>
蓋茨author
>
<
price
>
58.3
price
>
book
>
<
book
genre
="計算機"
isbn
="2-3631-4"
>
<
title
>
cs從入門到精通
title
>
<
author
>
蓋茨author
>
<
price
>
58.3
price
>
book
>
bookstore
>
顯示效果:
刪除屬性為計算機的節點
[c-sharp]view plain
copy
xmldocument xmldoc =
newxmldocument();
));
xmlnodelist xnl = xmldoc.selectsinglenode("bookstore"
).childnodes;
foreach
(xmlnode xn
inxnl)
} ));
xe.parentnode.removechild(xe)
尋找到xe節點的父節點,再刪除他的子節點。那麼此節點(包括節點標記)將不存在。顯示中將沒有空行
xe.removeall()
移除節點內容,但是節點標籤還在。顯示中有空行
C 庫Tinyxml對xml進行操作
首先將這6項,新增到原始檔中,否則會出錯。標頭檔案包含 include include include tinystr.h include tinyxml.h 根據標籤名獲取元素 tixmlelement 自定變數 上一級元素指標變數 firstchildelement 標籤名 獲取文字 要獲取上圖...
C 中對XML的操作
現在有乙個xml檔案,名稱 bookstore.xml,資料如下 oberon s legacy corets,eva 5.95 現在對這個xml檔案進行如下操作 1 往節點中插入乙個節點 xmldocument doc new xmldocment doc.load bookstore.xml x...
c 對mssql進行操作(ado)
ado是以com的形式來進行提供,所以他的許多行為都必須支援com的規範,在進行ado操作之前必須將ado的com物件引入到專案當中。引入 import c program files commonfiles system ado msado15.dll no namespace rename eo...