>  기사  >  백엔드 개발  >  이미지를 Dom으로 읽어서 xml 파일로 저장합니다.

이미지를 Dom으로 읽어서 xml 파일로 저장합니다.

黄舟
黄舟원래의
2017-03-01 17:22:371588검색

이미지를 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)를 참고해주세요!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.