快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

将图片读入到Dom中,并将其存为xml文件

1、需要命名空间
using System.Text;
using System.IO;
using System.Xml;
2、文件夹中存在001.jpg图片
3、生成一个docSave.xml文件

//***********************************
try
   {
    XmlDocument myXmlDoc = new XmlDocument();
    myXmlDoc.LoadXml("<picture><name>picture</name></picture>");

    XmlElement elem = myXmlDoc.CreateElement("image");

    // 打开图片文件,利用该图片构造一个文件流
    FileStream fs = new FileStream("../../001.jpg",FileMode.Open);
    // 使用文件流构造一个二进制读取器将基元数据读作二进制值
    BinaryReader br = new BinaryReader(fs);

    byte[] imageBuffer = new byte[br.BaseStream.Length];

    br.Read(imageBuffer,0,Convert.ToInt32(br.BaseStream.Length));

    string textString = System.Convert.ToBase64String(imageBuffer);

    fs.Close();
    br.Close();

    XmlText text = myXmlDoc.CreateTextNode(textString);

    myXmlDoc.DocumentElement.AppendChild(elem);
    myXmlDoc.DocumentElement.LastChild.AppendChild(text);

    myXmlDoc.Save("../../docSave.xml");

    MessageBox.Show("读写结束!");
catch(Exception ex)
   {
    MessageBox.Show(ex.ToString());
   }
//******
//生成后的Xml文档
//******

<picture>
  <name>picture</name>
  <image>......</image>
</picture>

//***********
//测试上一程序
//***********

说明:读取docSave.xml中的image节点,将其存为图片格式002.jpg.

  try
   {
    int readByte = 0;
    int bytesToRead = 1044;
    XmlTextReader xmlTxtRd = new XmlTextReader("../../docSave.xml");
    FileStream fs = new FileStream("../../002.jpg",FileMode.Create);
    BinaryWriter bw = new BinaryWriter(fs);

    byte[] base64buffer = new byte[bytesToRead];
    while(xmlTxtRd.Read())
    {
     if (xmlTxtRd.NodeType == XmlNodeType.Element && xmlTxtRd.Name == "image")
     {
      do
      {
       readByte = xmlTxtRd.ReadBase64(base64buffer,0,bytesToRead);
       bw.Write(base64buffer,0,readByte);
      }
      while( bytesToRead<= readByte);
     }
    }

    bw.Flush();
    bw.Close();
    fs.Close();

    xmlTxtRd.Close();
    MessageBox.Show("读写结束!");
   }
  catch(Exception ex)
   {
    MessageBox.Show(ex.ToString());
   }


返回类别: 教程
上一教程: ASP.NET创建Web Services之概述
下一教程: XML轻松学习手册(2)XML概念

您可以阅读与"将图片读入到Dom中,并将其存为xml文件"相关的教程:
· 将一个图片以二进制值的形式存入Xml文件中
· 使用PHP DOM-XML创建和解析XML文件
· 广告控件中XML文件的写法
· XML配置文件的读取处理
· 使用XML DOM生成XML(1)
    微笑服务 优质保证 索取样品