이미지를 Dom으로 읽어와 xml 파일로 저장
1. 네임스페이스 필요
System.Text 사용
System.IO 사용
System .Xml 사용
2. 001.jpg 이미지가 폴더에 존재합니다
3. docSave.xml 파일 생성
//********************************* { 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에서 이미지 노드를 읽고 이미지 형식 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()); }
위 내용은 이미지를 Dom으로 읽어와서 xml 파일로 저장하는 내용입니다. 더 많은 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!