如何读取Xml文件中节点及属性值。以及根据xml节点的文件二进制流保存为文件
定义xml文件的路径
string XMLFileName = Application.StartupPath + "\\Data\\Data.xml";
XmlDocument doc = new XmlDocument();
doc.Load(XMLFileName);
XmlNodeList DocNode = doc.DocumentElement.ChildNodes;
foreach (XmlElement images in DocNode) //查询所有一级子节点
{
if (images.Name.ToLower() == "images")
{
foreach (XmlElement image in images)//查询二级子节点
{
if (image.Name.ToLower() == "image")
{
string f = image.InnerText;//值的赋值
string FName = image.GetAttribute("Name").ToString();//属性的赋值
string SizeS = image.GetAttribute("Size").ToString();
if (!Directory.Exists(Application.StartupPath + "\\ImageData"))//判断文件夹是否存在
{
Directory.CreateDirectory(Application.StartupPath + "\\ImageData");
}
byte[] file = null;
byte[] b = Convert.FromBase64String(f);
file = (byte[])b;
FileStream fs;
FileInfo fi = new System.IO.FileInfo(Application.StartupPath + "\\ImageData\\" + FName.ToString().Trim());
fs = fi.OpenWrite();
fs.Write(file, 0, file.Length);
if (!(SizeS == fs.Length.ToString()))
{
MessageBox.Show("文件保存出错!" + fs.Name.ToString());
}
fs.Close();
}
}
}
}
}
0 评论:
发表评论