C#简单操作XML文件

作者:互联网   出处:控件中国网   2014-11-05 19:21:28   阅读:1

C#简单操作XML文件

XML可以作为小型数据库存放很多东西,下面简单介绍一下C#对xml文件的操作:

还有C#可以直接将Xml文件读取到DataTable中,在DataTabe中操作数据(在后期会简单介绍:)

xml文档(暂时命名为one.xml):

 

<?xml version="1.0" encoding="utf-8" ?>
<users>
    <user id="1">
        <name>Sun Yongjie</name>
        <sex>man</sex>
    </user>
    <user id="2">
        <name>Wei Leizheng</name>
        <sex>man</sex>
    </user>
    <user id="3">
        <name>Wei Huhang</name>
        <sex>woman</sex>
    </user>
    <user id="4">
        <name>Feng Dan</name>
        <sex>woman</sex>
    </user>
</users>
 

1.获取Xml文档中指定的节点值:

首先需要引用using System.Xml;

 

XmlDocument xmldoc = new XmlDocument();
            xmldoc.Load("one.xml");           
            XmlNodeList nodelist = xmldoc.SelectSingleNode("users").ChildNodes;           
            foreach (XmlElement xn in nodelist)
            {
                if (xn.GetAttribute("id") == "1")
                {
                    MessageBox.Show(xn["name"].InnerText);
                }
            }
显示的结果是“Sun Yongjie”

当然这只是其中的一种方法,还有就是对user下的数据再进行遍历(在进行一遍foreach)。
2.修改指定的节点:

也就是对节点重新赋值并保存。

 

XmlDocument xmldoc = new XmlDocument();
            xmldoc.Load("one.xml");
            XmlNodeList nodelist = xmldoc.SelectSingleNode("users").ChildNodes;
            foreach (XmlElement xn in nodelist)
            {
                if (xn.GetAttribute("id") == "1")
                {
                    xn["name"].InnerText = "Simon";//直接赋值对其修改                   
                }
            }
            xmldoc.Save("one.xml");//保存修改
 

3.添加数据:

 

XmlDocument xmldoc = new XmlDocument();
            xmldoc.Load("one.xml");
            XmlNode root = xmldoc.SelectSingleNode("users");
            XmlElement xel = xmldoc.CreateElement("user");
            xel.SetAttribute("id", "5");

            XmlElement xelname = xmldoc.CreateElement("name");
            xelname.InnerText = "text";
            xel.AppendChild(xelname);

            XmlElement xelsex = xmldoc.CreateElement("sex");
            xelsex.InnerText = "man";
            xel.AppendChild(xelsex);

            root.AppendChild(xel);
            xmldoc.Save("one.xml");

Copyright© 2006-2015 ComponentCN.com all rights reserved.重庆磐岩科技有限公司(控件中国网) 版权所有 渝ICP备12000264号 法律顾问:元炳律师事务所
客服软件
live chat