【原】c#对xml的操作

1.载入xml
A.装载已有的xml
1    XmlDocument doc = new  XmlDocument ();        
   doc.Load(Server.MapPath(
" students.xml " ));
B.新创建xml
  XmlDocument doc = new  XmlDocument ();
  
string  strXml = " <students>
  <student><id>1</id>
< name > hyq </ name > < age > 24 </ age > </ student >
  
< student > < id > 2 </ id > < name > hyq2 </ name > < age > 25 </ age > </ student >
  
< student > < id > 3 </ id > < name > hyq3 </ name > < age > 26 </ age > </ student >
  
< student > < id > 4 </ id > < name > hyq4 </ name > < age > 27 </ age > </ student >
</ students > " ;   
  doc.LoadXml(strXml);
2.获取下级所有节点值
 1  XmlDocument doc = new  XmlDocument ();      
  doc.Load(Server.MapPath(
" students.xml " ));

 2  XmlNodeList topM  =  doc.DocumentElement.ChildNodes;
 3 StringBuilder str  =   new  StringBuilder( " <ul> " );
 4 foreach  (XmlNode node  in  topM)
 5 {
 6                         
 7       str.Append( " <li>姓名: "   +  node.ChildNodes[ 1 ].InnerText  +   " ;年龄: "   +  node.ChildNodes[ 2 ].FirstChild.InnerText  +   " </li> " );            
 8                           
 9    }
10  str.Append( " </ul> " ); 
11  lb_xml.Text  =  str.ToString();
PS:上面代码中绿色字部分是获取根节点。另一种获取所有节点的方法,如果只是获取部分节点的话,建议用此方法
selectNodes
3.增加节点
增加已存在的节点副本
增加全新的节点
PS:例子中是以在根节点下增加节点为例,将此节点相应改变,就可在任意节点下增加节点或属性。
另注意下:node.CloneNode(bool deep)方法,当deep=true时,表示复制节点下的子节点和自己;deep=false时,
只复制自己。
4。删除节点
 doc.DocumentElement.RemoveChild(XmlNode node)
(简单事,简单处理)



你可能感兴趣的:(xml)