XML使用创建添加

 //创建XML文件
   private void btnCreateXml_Click(object
 sender, System.EventArgs e)
  
{
 //创建XML文档对象

  System.Xml.XmlDocument xmldoc = new
 System.Xml.XmlDocument();
//创建xml 声明节点

 System.Xml.XmlNode xmlnode = xmldoc.CreateNode(System.Xml.XmlNodeType.XmlDeclaration, "", ""
);
  //添加上述创建和 xml声明节点

xmldoc.AppendChild(xmlnode);
 //创建xml dbGuest 元素(根节点)

System.Xml.XmlElement xmlelem = xmldoc.CreateElement("", "dbGuest", ""
);
  xmldoc.AppendChild(xmlelem);
  try
{
xmldoc.Save(xmlFile);
}

 catch
(Exception ex)
 
{
  if(ex.Message.IndexOf("访问被拒绝") != -1
)
  
{
 lblMsg.Text = "创建xml文档失败,没有写入权限,请检查xmldocs文件夹的写入权限!"
;
 return
;
     }
                
    }

  lblMsg.Text = "xml文件创建成功";
  BindXMLFiles();
  BindUserNames();
 }

//添加用户
        private void btnAdd_Click(object
 sender, System.EventArgs e)
 
{
 string uID =
 txtUID.Text;
    string userName =
 txtUserName.Text;
     string City =
 txtCity.Text;
    string Email =
 txtEmail.Text;
     if(!
System.IO.File.Exists(xmlFile))
 
{
        lblMsg.Text = "xml文件"+xmlFile+"不存在,请先点击创建!"
;
   return;      }

     XmlDocument xmlDoc                = new XmlDocument();
      xmlDoc.Load(xmlFile);    //加载文件

XmlNode root                    = xmlDoc.SelectSingleNode("dbGuest");//查找<dbGuest>
   XmlElement xe_dbGuest_User        = xmlDoc.CreateElement("User");//创建一个<User>节点
    XmlElement xe_dbGuest_User_Name    = xmlDoc.CreateElement("Name"
);
   xe_dbGuest_User_Name.InnerText    = userName;//设置文本节点

    
  XmlAttribute a                    = xmlDoc.CreateAttribute("uid");//创建一个 属性

   a.Value                            =
 uID;
  xe_dbGuest_User_Name.Attributes.Append(a);//增加一个属性

  xe_dbGuest_User.AppendChild(xe_dbGuest_User_Name);//添加到<User>节点中
   XmlElement xe_dbGuest_User_City    = xmlDoc.CreateElement("City");//创建City节点
  xe_dbGuest_User_City.InnerText    =
 City;
  xe_dbGuest_User.AppendChild(xe_dbGuest_User_City);//添加到<User>节点中

  XmlElement xe_dbGuest_User_Email    = xmlDoc.CreateElement("Email");//创建Email节点
xe_dbGuest_User_Email.InnerText    =
 Email;
   xe_dbGuest_User.AppendChild(xe_dbGuest_User_Email);
 root.AppendChild(xe_dbGuest_User);//添加到<dbGuest>节点中

 xmlDoc.Save(xmlFile);//保存文件
  lblMsg.Text = "成功添加用户"
;
GetXmlContent();
   BindXML();
  BindUserNames();
  }


//绑定xml数据
private void
 BindXML()
{
 if(!
System.IO.File.Exists(xmlFile))
{
  lblMsg.Text = "xml文件"+xmlFile+"不存在,请先点击创建!"
;
  return
;
   }

//            方法一:通过ds 读取 xml
//
            DataSet ds = new DataSet();
//
            ds.ReadXml(xmlFile);
//
            if(ds.Tables.Count > 0)
//
            {
//
                dgValue.DataSource = ds.Tables[0].DefaultView;
//
                dgValue.DataBind();
//
            }
//方法二

 DataTable dt = new
 DataTable();
DataColumn dc = new DataColumn("uid"
);
dt.Columns.Add(dc);            
 dc = new DataColumn("name"
);
dt.Columns.Add(dc);
 dc = new DataColumn("city"
);
 dt.Columns.Add(dc);
dc = new DataColumn("email"
);
dt.Columns.Add(dc);
  //将xml文件加载成xmlDoc

XmlDocument xmlDoc = new
 XmlDocument();
 xmlDoc.Load(xmlFile);
  //得到dbGust所有子节点

  XmlNodeList xnl=xmlDoc.SelectSingleNode("dbGuest"
).ChildNodes;
        
 for(int i = 0 ; i < xnl.Count;i++
)
{
 //在每个子节点是遍历    xn 代表的是一个个User

 string uid = xnl.Item(i).ChildNodes[0].Attributes["uid"
].Value;
 string name = xnl.Item(i).ChildNodes[0
].InnerText;
 string city = xnl.Item(i).ChildNodes[1
].InnerText;
string email = xnl.Item(i).ChildNodes[2
].InnerText;
 DataRow dr =
 dt.NewRow();
 dr[0] =
 uid;
 dr[1] =
 name;
 dr[2] =
 city;
dr[3] =
 email;
 dt.Rows.Add(dr);                
 }

 dgValue.DataSource = dt;
 dgValue.DataBind();
 }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值