zoukankan      html  css  js  c++  java
  • C# 读取XML文件和写入XML文件

    对XML文件进行操作(写入,读取)时需要引用命名空间

    using System.IO;

    using System.Xml;

    写入XML文件

    创建文件流对象

    创建StreamWriter对象,传入参数(文件流,文字编码模式)

    调用StreamWriter对象的WriteLine方法就可以向文件中写入数据了

                try
                {
                    FileStream fs = new FileStream(@"LrcColor.xml",FileMode.Create);
                    StreamWriter sw = new StreamWriter(fs,Encoding.Default);
                    sw.WriteLine("<LrcChannels>");
                    sw.WriteLine("<lrcColor>");
                    sw.Write("<playState>");
                    sw.Write("unplaying");
                    sw.WriteLine("</playState>");
                    sw.Write("<colorA>");
                    sw.Write(this.unplayingColor.A);
                    sw.WriteLine("</colorA>");
                    sw.Write("<colorB>");
                    sw.Write(this.unplayingColor.B);
                    sw.WriteLine("</colorB>");
                    sw.Write("<colorG>");
                    sw.Write(this.unplayingColor.G);
                    sw.WriteLine("</colorG>");
                    sw.Write("<colorR>");
                    sw.Write(this.unplayingColor.R);
                    sw.WriteLine("</colorR>");
                    sw.WriteLine("</lrcColor>");
                    sw.WriteLine("<lrcColor>");
                    sw.Write("<playState>");
                    sw.Write("playing");
                    sw.WriteLine("</playState>");
                    sw.Write("<colorA>");
                    sw.Write(this.playingColor.A);
                    sw.WriteLine("</colorA>");
                    sw.Write("<colorB>");
                    sw.Write(this.playingColor.B);
                    sw.WriteLine("</colorB>");
                    sw.Write("<colorG>");
                    sw.Write(this.playingColor.G);
                    sw.WriteLine("</colorG>");
                    sw.Write("<colorR>");
                    sw.Write(this.playingColor.R);
                    sw.WriteLine("</colorR>");
                    sw.WriteLine("</lrcColor>");
                    sw.WriteLine("</LrcChannels>");
                    sw.Close();
                    fs.Close();
                }
                catch (Exception)
                {
                    return;
                }    

    读取XML文件

           XmlDocument xml = new XmlDocument();
                xml.Load("LrcColor.xml");
                XmlNode xmlNode = xml.DocumentElement;
                foreach (XmlNode node in xmlNode.ChildNodes)
                {
                    foreach (XmlNode childNodes in node.ChildNodes)
                    {
                        switch (childNodes.InnerText)
                        {
                            case "unplaying":
                                this.unplayingColor = Color.FromArgb(Convert.ToInt32(node["colorA"].InnerText), Convert.ToInt32(node["colorR"].InnerText), Convert.ToInt32(node["colorG"].InnerText), Convert.ToInt32(node["colorB"].InnerText));
                                break;
                            case "playing":
                                this.playingColor = Color.FromArgb(Convert.ToInt32(node["colorA"].InnerText), Convert.ToInt32(node["colorR"].InnerText), Convert.ToInt32(node["colorG"].InnerText), Convert.ToInt32(node["colorB"].InnerText));
                                break;
                        }
                    }
                }
  • 相关阅读:
    [转载]Axis2 and CXF的比较
    [转载]Axure RP 7.0下载地址及安装说明
    Eclipse配置总结
    201505大事记
    Gmail收不到邮件咋办?
    Mybatis-There is no getter for property named 'id' in 'class java.lang.String'
    EXTjs+SpringMVC+Mybatis实现照片的上传,下载,查看关键技术整理
    Ext如何Gird中如何显示时间类型的列?
    glibc
    圆形头像CircleImageView和Cardview使用
  • 原文地址:https://www.cnblogs.com/BrightMoon/p/2924285.html
Copyright © 2011-2022 走看看