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

  • 作者:未知 来源:未知 添加时间:2006年7月3日 字体:

  • 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 !amp;!amp; 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());
       }

  • 上一篇:xmlhttp资料
  • 下一篇:xml中的常见问题 (四)
  • 最后更新时间:2024年12月22日
  • 返回页面顶端
ppdesk