c#操作xml(1)

 
using  System;
using  System.Data;
using  System.Configuration;
using  System.Collections;
using  System.Web;
using  System.Web.Security;
using  System.Web.UI;
using  System.Web.UI.WebControls;
using  System.Web.UI.WebControls.WebParts;
using  System.Web.UI.HtmlControls;
using  System.Xml;
using  System.Text;
public   partial   class  xml : System.Web.UI.Page
{
    XmlDocument xmldoc;
    XmlElement xmlelem;
    XmlNode xmlnode;   
    
protected void Page_Load(object sender, EventArgs e)
    
{
       
// createXmlFile();
        
//createXmlFile2();
        
//createXmlNode();
        
//editXmlFile();
       
// removeXmlNode();
        editAttribute();
    }

    
/// <summary>
    
/// 创建xml文件1
    
/// </summary>

    public void createXmlFile()
    
{
        xmldoc 
= new XmlDocument();
        xmlnode 
= xmldoc.CreateNode(XmlNodeType.XmlDeclaration,"","");
        xmldoc.AppendChild(xmlnode);
        xmlelem
=xmldoc.CreateElement("""Employees","");
        xmldoc.AppendChild(xmlelem);
        
for (int i = 0; i < 3; i++)
        
{
            XmlNode root 
= xmldoc.SelectSingleNode("Employees");
            XmlElement xe1 
= xmldoc.CreateElement("node");
            xe1.SetAttribute(
"genre","刘浩");
            xe1.SetAttribute(
"ISBN""2-3631-4");
            XmlElement xesub1 
= xmldoc.CreateElement("title");
            xesub1.InnerText 
= "c#高级编程";
            xe1.AppendChild(xesub1);
            XmlElement xesub2 
= xmldoc.CreateElement("author");
            xesub2.InnerText 
= "詹姆斯";
            xe1.AppendChild(xesub2);
            XmlElement xesub3 
= xmldoc.CreateElement("price");
            xesub2.InnerText 
= "58.3";
            xe1.AppendChild(xesub3);
            root.AppendChild(xe1);
            xmldoc.Save(Server.MapPath(
"data.xml"));
        }

    }

    
/// <summary>
    
/// 创建xml文件
    
/// </summary>

    public void createXmlFile2()
    
{
        XmlTextWriter xmlwrite;
        
string strfilename;
        strfilename 
= Server.MapPath("data1.xml");
        xmlwrite 
= new XmlTextWriter(strfilename, Encoding.Default);
        xmlwrite.Formatting 
= Formatting.Indented;
        xmlwrite.WriteStartDocument();
        xmlwrite.WriteStartElement(
"Employees");
        xmlwrite.WriteStartElement(
"node");
        xmlwrite.WriteStartAttribute(
"genre","刘洪波");
        xmlwrite.WriteStartAttribute(
"ISBN"," 2 - 3631 - 4");
        xmlwrite.WriteStartElement(
"title");
        xmlwrite.WriteString(
"c#高级编程");
        xmlwrite.WriteEndElement();
        xmlwrite.WriteStartElement(
"author");
        xmlwrite.WriteString(
"刘浩");
        xmlwrite.WriteEndElement();
        xmlwrite.WriteStartElement(
"price");
        xmlwrite.WriteString(
"53.12");
        xmlwrite.WriteEndElement();
        xmlwrite.WriteEndElement();
        xmlwrite.Close();
    }

    
/// <summary>
    
/// 增加一个节点
    
/// </summary>

    public void createXmlNode()
    
{
        xmldoc 
= new XmlDocument();
        xmldoc.Load(Server.MapPath(
"data.xml"));
        XmlNode root 
= xmldoc.SelectSingleNode("Employees");
        XmlElement xe1 
= xmldoc.CreateElement("node");
        xe1.SetAttribute(
"geren","张三");
        xe1.SetAttribute(
"ISBN""1-1111-1");

        XmlElement xeSub1 
= xmldoc.CreateElement("title");
        xeSub1.InnerText 
= "sql server2005高级开发指南";
        xe1.AppendChild(xeSub1);

        XmlElement xeSub2 
= xmldoc.CreateElement("autoer");
        xeSub1.InnerText 
= "李伟";
        xe1.AppendChild(xeSub2);

        XmlElement xeSub3 
= xmldoc.CreateElement("price");
        xeSub1.InnerText 
= "87.5";
        xe1.AppendChild(xeSub3);
        root.AppendChild(xe1);
        xmldoc.Save(Server.MapPath(
"data.xml"));

    }

    
/// <summary>
    
/// 编辑某个节点的值
    
/// </summary>

    public void editXmlFile()
    
{
        xmldoc 
= new XmlDocument();
        xmldoc.Load(Server.MapPath(
"data.xml"));
        XmlNodeList nodeList 
= xmldoc.SelectSingleNode("Employees").ChildNodes;
        
foreach (XmlNode xn in nodeList)//遍历所有子节点 
        {
            XmlElement xe 
= (XmlElement)xn;//将子节点类型转换为XmlElement类型 
            if (xe.GetAttribute("genre"== "张三")//如果genre属性值为“张三” 
            {
                xe.SetAttribute(
"genre""update张三");//则修改该属性为“update张三” 

                XmlNodeList nls 
= xe.ChildNodes;//继续获取xe子节点的所有子节点 
                foreach (XmlNode xn1 in nls)//遍历 
                {
                    XmlElement xe2 
= (XmlElement)xn1;//转换类型 
                    if (xe2.Name == "author")//如果找到 
                    {
                        xe2.InnerText 
= "亚胜";//则修改
                    }

                }

            }

        }
 


        xmldoc.Save(Server.MapPath(
"data.xml"));
    }

    
/// <summary>
    
/// 删除一个节点
    
/// </summary>

    public void removeXmlNode()
    
{
        xmldoc 
= new XmlDocument();
        xmldoc.Load(Server.MapPath(
"data.xml"));
        XmlNode root 
= xmldoc.SelectSingleNode("Employees");
         
         XmlNodeList nodeList 
= xmldoc.SelectSingleNode("Employees").ChildNodes;
         
for (int i = 0; i < nodeList.Count; i++)
         

          XmlElement xe
=(XmlElement)nodeList.Item(i);
          
if (xe.GetAttribute("genre"== "update张三")
          
{
              root.RemoveChild(xe);
              
if (i < nodeList.Count) i = i - 1;

          }

         }

         xmldoc.Save(Server.MapPath(
"data.xml"));
    }

    
/// <summary>
    
/// 修改结点(添加结点的属性和添加结点的自结点)
    
/// </summary>

    public void editAttribute()
    
{
        xmldoc 
= new XmlDocument();
        xmldoc.Load(Server.MapPath(
"data.xml"));
        XmlNodeList xnl 
= xmldoc.SelectSingleNode("Employees").ChildNodes;
        
foreach (XmlNode xn in xnl)
        
{
            XmlElement xml 
= (XmlElement)xn;
            xml.SetAttribute(
"test","23433");
            XmlElement xmlSub 
= xmldoc.CreateElement("flag");
            xmlSub.InnerText 
= "1";
            xml.AppendChild(xmlSub);
            xml.SetAttribute(
"price","53.4");

        }

        xmldoc.Save(Server.MapPath(
"data.xml"));
    }

    
/// <summary>
    
/// 删除某一节点的属性
    
/// </summary>

    public void removeXmlAttribute()
    
{
        xmldoc 
= new XmlDocument();
        xmldoc.Load(Server.MapPath(
"data.xml"));
        XmlNodeList nodelist 
= xmldoc.SelectSingleNode("Employees").ChildNodes;
        
foreach(XmlNode xln in nodelist)
        
{
            XmlElement xe1 
= (XmlElement)xln;
            xe1.RemoveAttribute(
"genre");
            XmlNodeList nls 
= xe1.ChildNodes;
            
foreach (XmlNode xn1 in nls)
            
{
                XmlElement xle1 
= (XmlElement)xn1;
                
if (xle1.Name == "flag")
                
{
                    xe1.RemoveChild(xle1);
                }

            }

        }

        xmldoc.Save(Server.MapPath(
"data.xml"));
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值