刚接触项目,有个问题请教下各位大侠~对方要求将解析完的xml利用http传给他,url已给,http://ip:port/nms/upload,然后我序列化的部分也做完了:
         public string Serialize()
        {
            string strSource = "";
            try
            {
                Snapshot = null;
                XmlSerializer s = new XmlSerializer(typeof(MSG_PU_VIDEO_DEVICE_ALARM));
                Stream stream = new MemoryStream();
                s.Serialize(stream, this);
                stream.Seek(0, SeekOrigin.Begin);
                using (StreamReader reader = new StreamReader(stream))
                {
                    strSource = reader.ReadToEnd();
                }            }
            catch (Exception ex)
            {
                throw ex;
            }
            return strSource;
            }
        
        public static MSG_PU_VIDEO_DEVICE_ALARM Deserialize(string xmlSource)
        {
            MSG_PU_VIDEO_DEVICE_ALARM obj = new MSG_PU_VIDEO_DEVICE_ALARM();
            try
            {
                XmlSerializer x = new XmlSerializer(typeof(MSG_PU_VIDEO_DEVICE_ALARM));
                Stream stream = ProtocolHelper.GetStream(xmlSource);
                stream.Seek(0, SeekOrigin.Begin);
                obj = (MSG_PU_VIDEO_DEVICE_ALARM)x.Deserialize(stream);
                stream.Close();
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return obj;
        }
        }
然后我将如何将序列化完的结果传出去呢,可以给个或者写个简单的demo呢,谢谢啦!

解决方案 »

  1.   

    把XML保存为文本文件,再上传就好了.
      

  2.   

    找对方要示例呀
      
    *****************************************************************************
    签名档: http://feiyun0112.cnblogs.com/
      

  3.   

    至少要知道http的提交参数是什么吧。
      

  4.   

    他们的协议是这样的
    <?xml version="1.0" encoding="utf-8"?>
    <analysisResult version="1.0">
      <taskSession>s</taskSession>
    <cmsGuId>摄像头Naming</cmsGuId>    (-前面部分)
      <start_time>YYYYMMDDHHMMSS</start_time>
      <end_time>YYYYMMDDHHMMSS</end_time>
      <alarm_time>报警绝对时间:YYYYMMDDHHMMSS</alarm_time>=start time
      <alarm_type>报警类型</alarm_type> 
      <alarm_direction>报警描述</alarm_direction>
      <rule_id>1/2/3/4</rule_id> 
      <object_type>目标类型</object_type> 
      <people_cnt1>人数统计1</people_cnt1>
      <people_cnt2>人数统计2</people_cnt2>
      <people_density></people_density>
      <img_type>上传图片格式</img_type> 
      <img_len>上传图片大小</img_len> 
    </analysisResult>
    然后我提取了他们需要的节点,重组一下,以字符串或者xml的格式http传给他们
      

  5.   

    他们的协议是这样的<?xml version="1.0" encoding="utf-8"?>
    <analysisResult version="1.0">
      <taskSession>s</taskSession>
    <cmsGuId>摄像头Naming</cmsGuId>    (-前面部分)
      <start_time>YYYYMMDDHHMMSS</start_time>
      <end_time>YYYYMMDDHHMMSS</end_time>
      <alarm_time>报警绝对时间:YYYYMMDDHHMMSS</alarm_time>=start time
      <alarm_type>报警类型</alarm_type> 
      <alarm_direction>报警描述</alarm_direction>
      <rule_id>1/2/3/4</rule_id> 
      <object_type>目标类型</object_type> 
      <people_cnt1>人数统计1</people_cnt1>
      <people_cnt2>人数统计2</people_cnt2>
      <people_density></people_density>
      <img_type>上传图片格式</img_type> 
      <img_len>上传图片大小</img_len> 
    </analysisResult>
    然后我提取了他们需要的节点,重组一下,以字符串或者xml的格式http传给他们 
      

  6.   

    提交的就是序列化后的Serialize吧