xml读写

RWXml.cs

创建xml文档

读取/修改xml文档

public class RWXml
{
    /// <summary>
    /// 创建xml文档
    /// </summary>
    public void WriteXml()
    {
        XmlDocument xDoc = new XmlDocument();//xml实例化
        //创建一个声明xml文档所需要的语法的变量
        XmlDeclaration declaration=xDoc.CreateXmlDeclaration("1.0","UTF-8","yes");
        xDoc.AppendChild(declaration);
        //一个xml文档,必须要有根元素
        //创建根节点students
        XmlElement xelem = xDoc.CreateElement("students");
        //把根节点添加到xml文档中去
        xDoc.AppendChild(xelem);
        //添加子节点
        XmlElement elem1= xDoc.CreateElement("student");
        //将第一级的子节点,放置到根节点的下面
        xelem.AppendChild(elem1);
        //给节点添加属性
        elem1.SetAttribute("age","15");
        //添加子节点的子节点
        XmlElement elem11= xDoc.CreateElement("name");
        //将第一级的子节点,放置到根节点的下面
        elem1.AppendChild(elem11);
        //增加节点中的数据
        elem11.InnerText = "张三";
        xDoc.Save("students.xml");           
    }
    /// <summary>
    /// 读取Xml文档
    /// </summary>
    public void ReadXml()
    {
        XmlDocument xDoc = new XmlDocument();//实例化xml文档
        xDoc.Load("students.xml");
        //获取根节点students
        XmlNode node=xDoc.SelectSingleNode("students");
        XmlNodeList nodelist = node.ChildNodes;
        foreach (XmlNode xn in nodelist)
        {
            string name=xn.Name;
            //作类型显示转换
            XmlElement xmle = (XmlElement)xn;
            string age = xmle.GetAttribute("age");
            Console.WriteLine(name + ":" + age);
            //取出节点中的数据
            XmlNodeList childList = xn.ChildNodes;
            foreach (XmlNode m in childList)
            {
                //类型转换
                XmlElement xe = (XmlElement)m;
                string className= xe.Name;
                string name1 = xe.InnerText;
                Console.WriteLine(className+":"+name1);
            }                
        }
        //生成或修改xml文档时,末尾一定要写save方法
        //xDoc.Save("students.xml");
        Console.ReadKey();
    }
}

xml保存读取图片

 // 保存图片到 XML 文件
private void Form1_Load(object sender, System.EventArgs e)
{
    Image img = Image.FromFile(@"E:\MyDocs\My Pictures\样品.jpg");
    System.IO.MemoryStream stream = new System.IO.MemoryStream();
    img.Save(stream, ImageFormat.Jpeg);
    byte[] b = stream.GetBuffer();
    string s = Convert.ToBase64String(b);

    XmlDocument doc = new XmlDocument();
    doc.AppendChild(doc.CreateElement("image"));
    XmlElement elmtData = doc.CreateElement("data");
    elmtData.InnerText = s;
    doc.DocumentElement.AppendChild(elmtData);
    doc.Save("test.xml");
}
// 从 XML 文件中读取图片信息
private void button1_Click(object sender, System.EventArgs e)
{
    XmlDocument doc = new XmlDocument();
    doc.Load("test.xml");
    string s = doc.DocumentElement.SelectSingleNode("data").InnerText;
    byte[] b = Convert.FromBase64String(s);
    MemoryStream stream = new MemoryStream(b);
    Bitmap bitmap = new Bitmap(stream);

    this.pictureBox1.Image = bitmap;
}
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐