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());
}
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器