C#操作XML(二)

 

 

2,添加结点:  

XmlDocument xmlDoc=new XmlDocument(); 
xmlDoc.Load(Server.MapPath("database.xml")); 
XmlNode rootElement=xmlDoc.SelectSingleNode("Websites");
//查找<Websites> 
XmlElement websiteElement=xmlDoc.CreateElement("Website");//创建一个<Website>节点 
websiteElement.SetAttribute("genre","www.cnzz.com");//设置该节点genre属性 
websiteElement.SetAttribute("ISBN","1-1111-1");//设置该节点ISBN属性 
XmlElement titleElement=xmlDoc.CreateElement("title"); 
titleElement.InnerText="
站长统计";//设置文本节点 
websiteElement.AppendChild(titleElement);//添加到<Website>节点中 
XmlElement authorElement=xmlDoc.CreateElement("author"); 
authorElement.InnerText="
站长"; 
websiteElement.AppendChild(authorElement); 
XmlElement urlElement=xmlDoc.CreateElement("url"); 
urlElement.InnerText="http://www.cnzz.com"; 
websiteElement.AppendChild(urlElement); 
rootElement.AppendChild(websiteElement);
//添加到<Websites>节点中 
xmlDoc.Save ( Server.MapPath("database.xml") );

结果:

<?xml version="1.0" encoding="gb2312"?>
<Websites>
  
<Website genre="www.chinaz.com" ISBN="2-3631-4">
    
<title>中国站长站</title>
    
<author>作者</author>
    
<url>http://www.chinaz.com</url>
  
</Website>
  
<Website genre="www.chinaz.com" ISBN="2-3631-4">
    
<title>中国站长站</title>
    
<author>作者</author>
    
<url>http://www.chinaz.com</url>
  
</Website>
  
<Website genre="www.cnzz.com" ISBN="1-1111-1">
    
<title>站长统计</title>
    
<author>站长</author>
    
<url>http://www.cnzz.com</url>
  
</Website>
</Websites>

3,修改结点的值:

XmlDocument xmlDoc=new XmlDocument(); 
xmlDoc.Load( Server.MapPath("database.xml") ); 
XmlNodeList nodeList=xmlDoc.SelectSingleNode("Websites").ChildNodes;
//获取Websites节点的所有子节点 
foreach(XmlNode xn in nodeList)//遍历所有子节点 

    XmlElement xe=(XmlElement)xn;
//将子节点类型转换为XmlElement类型 
    if(xe.GetAttribute("genre")=="www.cnzz.com")//如果genre属性值为“www.cnzz.com” 
    { 
        xe.SetAttribute("genre","updatewww.cnzz.com");
//则修改该属性为“updatewww.cnzz.com” 
        XmlNodeList nls=xe.ChildNodes;//继续获取xe子节点的所有子节点 
        foreach(XmlNode xn1 in nls)//遍历 
        { 
            XmlElement xe2=(XmlElement)xn1;
//转换类型 
            if(xe2.Name=="author")//如果找到 
            { 
                xe2.InnerText="
作者";//则修改
            } 
        } 
    } 

xmlDoc.Save( Server.MapPath("database.xml") );
//保存。

结果:

<?xml version="1.0" encoding="gb2312"?>
<Websites>
  
<Website genre="www.chinaz.com" ISBN="2-3631-4">
    
<title>中国站长站</title>
    
<author>作者</author>
    
<url>http://www.chinaz.com</url>
  
</Website>
  
<Website genre="www.chinaz.com" ISBN="2-3631-4">
    
<title>中国站长站</title>
    
<author>作者</author>
    
<url>http://www.chinaz.com</url>
  
</Website>
  
<Website genre="updatewww.cnzz.com" ISBN="1-1111-1">
    
<title>站长统计</title>
    
<author>作者</author>
    
<url>http://www.cnzz.com</url>
  
</Website>
</Websites>

你可能感兴趣的:(xml,C#,休闲,C#操作XML,操作XML节点)