欢迎来到飞鸟慕鱼博客,开始您的技术之旅!
当前位置: 首页知识笔记正文

电子公文数据交换解决方案

墨初 知识笔记 38阅读

XML在数据交换中发挥着越来越重要的作用。在公文无纸化传输中,不仅传输文本,还传输签名、word文件等附件。这里以嵌入一张签名图片为例,简单介绍一下如何将这些二进制文件嵌入到XML中进行传输。1.将二进制文件以Base64格式写入XML publicvoidInsert(){;=(' d : \ \ sign . gif ');byte[]buffer=newbyte[fs。长度];fs。读取(buffer,0,buffer。长度);XmlTextWriterwriter=new xmltext writer(' d : \ \ user . XML 'System。text . coding . default);作家。格式化=格式化。缩进;作家。WriteStartDocument();作家。write startelement(' User ');

nbsp;      writer.WriteElementString("/span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">First_Name/span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">"/span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">, /span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">"/span>/span>/span>/span>/span>/span>/span>/span>/span>span/span>/span>/span>/span>/span>/span>/span>/span>/span>/span>);
            writer.WriteElementString(/span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">"/span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">Last_Name/span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">"/span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">, /span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">"/span>/span>/span>/span>/span>/span>/span>/span>/span>span/span>/span>/span>/span>/span>/span>/span>/span>/span>/span>); /span>/span>/span>/span>/span>/span>/span>/span>/span>br>            writer.WriteStartElement(/span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">"/span>/span>/span>/span>/span>/span>/span>/span>/span>span>Signature");
            writer.WriteAttributeString(/span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">"/span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)"/span>/span>/span>/span>/span>/span>/span>/span>/span>/span/span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">"/span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">,/span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">"/span>/span>/span>/span>/span>/span>/span>/span>/span>span>sign.gif");
            writer.WriteBase64(buffer,/span>/span>/span>/span>/span>/span>/span>/span>/span>span>0,buffer.Length); /span>/span>/span>/span>/span>/span>/span>/span>/span>br>            writer.WriteEndElement();
            writer.WriteEndElement();
            writer.WriteEndDocument(); /span>/span>/span>/span>/span>/span>/span>/span>/span>br>            writer.Flush();
            writer.Close();
        }/span>/span>/span>/span>/span>/span>/span>/span>br/span>/span>/span>/span>/span>/span>/span>/span>/span>br>生成后的XML(user.xml)内容如下: /span>/span>/span>/span>/span>/span>/span>/span>/span>br/span>/span>/span>/span>/span>/span>/span>/span>/span>div style="border: 0.5pt solid rgba(0, 0, 0, 1); padding: 4px 5.4pt; background: rgba(230, 230, 230, 1); width: 98%; word-break: break-all"> /span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 255, 1)"><?/span>/span>/span>/span>/span>/span>/span>/span>/span>span>xml version="1.0" encoding="gb2312"?>
</span>/span>/span>/span>/span>/span>/span>/span>/span>span>User>
  </span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">First_Name/span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 255, 1)">>/span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)"/span>/span>/span>/span>/span>/span>/span>span class="xzm_is" data-txt="John#3C"/span>/span>/span>/span>/span>/span>/span>/span>/span/span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 255, 1)"><//span>/span>/span>/span>/span>/span>/span>/span>/span>span>First_Name>
  </span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">Last_Name/span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 255, 1)">>/span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)"/span>/span>/span>/span>/span>/span>/span>span class="xzm_is" data-txt="Wang#3C"/span>/span>/span>/span>/span>/span>/span>/span>/span/span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 255, 1)"><//span>/span>/span>/span>/span>/span>/span>/span>/span>span>Last_Name>
  </span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">Signature /span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(255, 0, 0, 1)"/span>/span>/span>/span>/span>/span>/span>/span>/span>/span/span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 255, 1)">="sign.gif"/span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 255, 1)">>/span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">R0lGODlhZAAZAIAAAJ0IDf///yH5BAAAAAAALAAAAABkABkAAAKXjI+py+0Po5y02ouz3rz7D4biSJbmiabqAbQr2sbANL+Ja9WNzDv6qvvlJMKdLVD74WjESJH1HLKQhuSSEoU2FzHGEqdEBmfW5CV7FaepXe3za4YKs1Tp7a2V16t8hZV9h5WhhJZXFSfWdzfGQffQ49OGEDSleOIIQ+mngnk5eWQIKsrVOcpJZpqqWKpKotkq+gp7JKtQAAA7/span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 255, 1)"><//span>/span>/span>/span>/span>/span>/span>/span>/span>span>Signature>
<//span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(128, 0, 0, 1)">User/span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 255, 1)">>/span>/span>/span>/span>/span>/span>/span>/span>/div/span>/span>/span>/span>/span>/span>/span>/span>/span>/div> /span>/span>/span>/span>/span>/span>/span>/span>/span>br/span>/span>/span>/span>/span>/span>/span>/span>/span>strong>2.从XML中读取文件/span>/span>/span>/span>/span>/span>/span>/span>/p>
/span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">            XmlTextReader reader /span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">=/span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)"> /span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 255, 1)">new/span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)"/span>/span>/span>/span>/span>/span>(/span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">@"/span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">d:\user.xml/span>/span>/span>/span>/span>/span>/span>/span>/span>span>");
            /span>/span>/span>/span>/span>/span>/span>/span>/span>span>while (reader.Read())
            /span>/span>/span>/span>/span>/span>/span>/span>/span>span/span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">{
                /span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 255, 1)">if/span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)"> (reader.Name /span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">==/span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)"> /span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">"/span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">Signature/span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">"/span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)"> /span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">&&/span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)"> reader.NodeType /span>/span>/span>/span>/span>/span>/span>/span>/span>span>== XmlNodeType.Element)
                /span>/span>/span>/span>/span>/span>/span>/span>/span>span/span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">{ /span>/span>/span>/span>/span>/span>/span>/span>/span>br>                    /span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 255, 1)">byte/span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">[] buffer /span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">=/span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)"> /span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 255, 1)">new/span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)"> /span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 255, 1)">byte/span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)"/span>/span>/span>/span>/span>span class="xzm_is" data-txt="#YB#3C"/span>/span>/span>/span>/span>/span>/span/span>/span>/span>/span>/span>/span>/span>/span>/span>span>1024];
                    /span>/span>/span>/span>/span>/span>/span>/span>/span>span>int size; /span>/span>/span>/span>/span>/span>/span>/span>/span>br>                    ;/span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">=/span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)"> (/span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">"/span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">d:\\/span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">"/span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)"> /span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)"/span>/span>/span>/span>/span>span class="xzm_is" data-txt="#2B#3C"/span>/span>/span>/span>/span>/span>/span/span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)"> reader.GetAttribute(/span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">"/span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)"/span>/span>/span>/span>/span>/span>/span>/span>/span>/span/span>/span>/span>/span>/span>/span>/span>/span>/span>span>")); /span>/span>/span>/span>/span>/span>/span>/span>/span>br>                    /span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 255, 1)">while/span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)"> (/span>/span>/span>/span>/span>/span>/span>/span>/span>span>true)
                    /span>/span>/span>/span>/span>/span>/span>/span>/span>span/span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">{
                        size /span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">=/span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)"> reader.ReadBase64(buffer,/span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">0/span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">,/span>/span>/span>/span>/span>/span>/span>/span>/span>span>1024);
                        /span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 255, 1)">if/span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)"> (size/span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">>/span>/span>/span>/span>/span>/span>/span>/span>/span>span>0)
                        /span>/span>/span>/span>/span>/span>/span>/span>/span>span/span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">{
                            (buffer,/span>/span>/span>/span>/span>/span>/span>/span>/span>span>0,size);
                        }/span>/span>/span>/span>/span>/span>/span>/span>br>                        /span>/span>/span>/span>/span>/span>/span>/span>/span>span>else
                        /span>/span>/span>/span>/span>/span>/span>/span>/span>span/span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)">{
                            /span>/span>/span>/span>/span>/span>/span>/span>/span>span>break;
                        }/span>/span>/span>/span>/span>/span>/span>/span>/span>/span/span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)"/span>/span>/span>/span>/span>/span>/span>/span>br>                    }/span>/span>/span>/span>/span>/span>/span>/span>/span>/span/span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)"/span>/span>/span>/span>/span>/span>/span>/span>br>                    ();
                }/span>/span>/span>/span>/span>/span>/span>/span>/span>/span/span>/span>/span>/span>/span>/span>/span>/span>/span>span style="color: rgba(0, 0, 0, 1)"/span>/span>/span>/span>/span>/span>/span>/span>br>            }/span>/span>/span>/span>/span>/span>/span>/span>/span>/span/span>/span>/span>/span>/span>/span>/span>/span>/div/span>/span>/span>/span>/span>/span>/span>/span>/span>/div> /span>/span>/span>/span>/span>/span>/span>/span>/span>/p>
/span>/span>/span>/span>/span>/span>/span>/span>/span>/div>

标签:
声明:无特别说明,转载请标明本文来源!