一、簡單介紹
using system.xml;
//初始化乙個xml例項
xmldocument xml=new xmldocument();
//指定乙個節點
xmlnode root=xml.selectsinglenode("/root");
//獲取節點下所有直接子節點
xmlnodelist childlist=root.childnodes;
//判斷該節點下是否有子節點
root.haschildnodes;
//獲取同名同級節點集合
xmlnodelist nodelist=xml.selectnodes("/root/news");
//生成乙個新節點
xmlelement node=xml.createelement("news");
//將節點加到指定節點下某個子節點前
root.insertbefore(node,root.childenodes[i]);
//為指定節點的新建屬性並賦值
node.setattribute("id","11111");
//獲取指定節點的指定屬性值
string id=node.attributes["id"].value;
//獲取指定節點中的文字
string content=node.innertext;
二、具體例項
在c#.net中如何操作xml
需要新增的命名空間:
using system.xml;
定義幾個公共物件:
xmldocument xmldoc ;
xmlnode xmlnode ;
xmlelement xmlelem ;
1,建立到伺服器同名目錄下的xml檔案:
xmlnode root=xmldoc.selectsinglenode("employees");//查詢
xmlelement xe1=xmldoc.createelement("node");//建立乙個節點
xe1.setattribute("genre","李讚紅");//設定該節點genre屬性
xe1.setattribute("isbn","2-3631-4");//設定該節點isbn屬性
//結果:在同名目錄下生成了名為data.xml的檔案,內容如下,
<?xml version="1.0" encoding="gb2312"?>
cs從入門到精通
候捷58.3
cs從入門到精通
候捷58.3
xmlwriter = new xmltextwriter(strfilename,encoding.default);//建立乙個xml文件
xmlwriter.formatting = formatting.indented;
xmlwriter.writestartdocument();
xmlwriter.writestartelement("employees");
xmlwriter.writestartelement("node");
xmlwriter.writeattributestring("genre","李讚紅");
xmlwriter.writeattributestring("isbn","2-3631-4");
xmlwriter.writestartelement("title");
xmlwriter.writestring("cs從入門到精通");
xmlwriter.writeendelement();
xmlwriter.writestartelement("author");
xmlwriter.writestring("候捷");
xmlwriter.writeendelement();
xmlwriter.writestartelement("price");
xmlwriter.writestring("58.3");
xmlwriter.writeendelement();
xmlwriter.writeendelement();
xmlwriter.close();
//結果:
<?xml version="1.0" encoding="gb2312"?>
cs從入門到精通
候捷58.3
2,新增乙個結點:
//結果:在xml原有的內容裡新增了乙個結點,內容如下,
<?xml version="1.0" encoding="gb2312"?>
cs從入門到精通
候捷58.3
cs從入門到精通
候捷58.3
c#入門幫助
高手158.3
3,修改結點的值(屬性和子結點):
xmlnodelist nodelist=xmldoc.selectsinglenode("employees").childnodes;//獲取employees節點的所有子節點
foreach(xmlnode xn in nodelist)//遍歷所有子節點
{ xmlelement xe=(xmlelement)xn;//將子節點型別轉換為xmlelement型別
if(xe.getattribute("genre")=="張三")//如果genre屬性值為「張三」
{ xe.setattribute("genre","update張三");//則修改該屬性為「update張三」
//結果:將原來的所有結點的資訊都修改了,xml的內容如下,
<?xml version="1.0" encoding="gb2312"?>
cs從入門到精通
候捷58.3
cs從入門到精通
候捷58.3
c#入門幫助
亞勝158.3
xmlnodelist nodelist=xmldoc.selectsinglenode("employees").childnodes;//獲取employees節點的所有子節點
foreach(xmlnode xn in nodelist)
{ xmlelement xe=(xmlelement)xn;
xe.setattribute("test","111111");
//結果:每個結點的屬性都新增了乙個,子結點也新增了乙個,內容如下,
<?xml version="1.0" encoding="gb2312"?>
cs從入門到精通
候捷58.3
1cs從入門到精通
候捷58.3
1c#入門幫助
亞勝158.31
//]結果:刪除了結點的乙個屬性和結點的乙個子結點,內容如下,
<?xml version="1.0" encoding="gb2312"?>
cs從入門到精通
候捷58.3
cs從入門到精通
候捷58.3
c#入門幫助
亞勝158.3
//]結果:刪除了符合條件的所有結點,原來的內容:
<?xml version="1.0" encoding="gb2312"?>
cs從入門到精通
候捷58.3
cs從入門到精通
候捷58.3
c#入門幫助
高手158.3
c#入門幫助
高手158.3
刪除後的內容:
<?xml version="1.0" encoding="gb2312"?>
cs從入門到精通
候捷58.3
cs從入門到精通
候捷58.3
7,按照文字檔案讀取xml
string mystring = myfile.readtoend();//mystring是讀出的字串
myfile.close();
三、高階應用
/*讀取xml資料 兩種xml方式*/
something
something
/*第一種方法*/
ds.readxml("your xmlfile name");
container.dataitem("bb");
container.dataitem("cc");
ds.readxmlschema("your xmlfile name");
/*第二種方法*/
C 操作XML小結
文章 一 簡單介紹 using system.xml 初始化乙個xml例項 xmldocument xml new xmldocument 指定乙個節點 xmlnode root xml.selectsinglenode root 獲取節點下所有直接子節點 xmlnodelist childlist...
C 操作XML小結
本文摘自 csdn的博文 c 操作xml小結 一 簡單介紹 using system.xml 初始化乙個xml例項 xmldocument xml new xmldocument 指定乙個節點 xmlnode root xml.selectsinglenode root 獲取節點下所有直接子節點 x...
C 操作XML小結
一 簡單介紹 using system.xml 初始化乙個xml例項 xmldocument xml new xmldocument 指定乙個節點 xmlnode root xml.selectsinglenode root 獲取節點下所有直接子節點 xmlnodelist childlist ro...