C# 处理xml

今天下午闲来无事,看来一下C#是怎么处理xml的。看起来还是蛮简单的,随手写了几行代码。

我是用了XmlDocument

 

创建xml

基本上,可以一步一步来构建一个xml文件,如下:

XmlDocument doc = new XmlDocument();

            bool bExists = true;
            try
            {
                doc.Load(XMLPath);
            }
            catch (System.Exception ex)
            {
                bExists = false;
            }

            XmlNode xmlnode;
            if (!bExists)
            {
                xmlnode = doc.CreateNode(XmlNodeType.XmlDeclaration, "", "");
                doc.AppendChild(xmlnode);

                xmlnode = doc.CreateElement("Root");
                doc.AppendChild(xmlnode);
            }
            else
            {
                xmlnode = doc.SelectSingleNode("Root");
            }

            //构造一个student信息node
            XmlElement s = doc.CreateElement("Student");
            xmlnode.AppendChild(s);
            XmlElement name = doc.CreateElement("Name");
            XmlElement age = doc.CreateElement("Age");
            XmlElement address = doc.CreateElement("Address");
            s.AppendChild(name);
            s.AppendChild(age);
            s.AppendChild(address);

            XmlNode content = doc.CreateTextNode(Name);
            name.AppendChild(content);
            content = doc.CreateTextNode(string.Format("{0}", Age));
            age.AppendChild(content);
            content = doc.CreateTextNode(Address);
            address.AppendChild(content);

            try
            {
                doc.Save(XMLPath);
            }
            catch (System.Exception ex)
            {
            	
            }


 

删除或者修改xml

 XmlDocument doc = new XmlDocument();

            try
            {
                doc.Load(XMLPath);
            }
            catch (System.Exception ex)
            {
                return;
            }

            XmlNode root = doc.SelectSingleNode("Root");
            if (root == null)
            {
                return;
            }

            XmlNodeList childs = root.ChildNodes;

            foreach (XmlNode node in childs)
            {
                Student s = new Student();

                XmlNode content = node.SelectSingleNode("Name");
                s.Name = content.InnerText;
                content = node.SelectSingleNode("Age");
                s.Age = System.Int32.Parse(content.InnerText);
                content = node.SelectSingleNode("Address");
                s.Address = content.InnerText;

                if (s.Name == this.Name)
                {
                    if (bRemove)
                    {
                        root.RemoveChild(node);//直接删除节点
                    }
                    else
                    {//修改修改节点的内容
                        node.SelectSingleNode("Name").InnerText = this.Name;
                        node.SelectSingleNode("Age").InnerText = string.Format("{0}", this.Age);
                        node.SelectSingleNode("Address").InnerText = this.Address;
                    }
                    
                }
            }

            doc.Save(XMLPath);


 随手写了个例子,仅供参考。

http://download.youkuaiyun.com/detail/zj510/5099776

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值