複製代碼 代碼如下:
try
{
int readByte = 0; //
int bytesToRead = 100; //資料緩衝區大小
string fileName = "../../WriteXml.xml"; //要開啟的檔案
// this.textBox1.Text = string.Empty;
// 開啟圖片檔案,利用該圖片構造一個檔案流
FileStream fs = new FileStream("../../001.jpg",FileMode.Open);
// 使用檔案流構造一個二進位讀取器將基中繼資料讀作二進位值
BinaryReader br = new BinaryReader(fs);
XmlTextWriter xmlTxtWt = new XmlTextWriter(fileName,Encoding.UTF8);
//輸出設定 代碼縮排
xmlTxtWt.Formatting = Formatting.Indented;
// xmlTxtWt.Indentation = 4;
//書寫聲明
xmlTxtWt.WriteStartDocument();
xmlTxtWt.WriteStartElement("picture","ContactDetails","http://www.jb51.net");//定義命名空間
xmlTxtWt.WriteStartElement("image"); //定義節點
xmlTxtWt.WriteAttributeString("imageName","002.jpg"); //添加圖片屬性
byte[] base64buffer = new byte[bytesToRead]; //開闢緩衝區
do
{
readByte = br.Read(base64buffer,0,bytesToRead); //將資料讀入位元組數組
xmlTxtWt.WriteBase64(base64buffer,0,readByte); //將數組中二進位值編碼為Base64並寫出到XML檔案
}while(bytesToRead <= readByte);
xmlTxtWt.WriteEndElement();
xmlTxtWt.WriteEndElement();
xmlTxtWt.WriteEndDocument();
// xmlTxtWt.Flush();
xmlTxtWt.Close();
MessageBox.Show("讀寫結束!");
// this.textBox1.Text = ReadXml(fileName);
}
catch(Exception ex)
{
MessageBox.Show(ex.ToString());
}