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;
}