//发送XML

public void Send(object sender, System.EventArgs e)
    {
        string WebUrl = "http://localhost:4035/GetXML/GetDataSet";//换成接收方的URL
        RequestUrl(WebUrl, GetXml());
    }
public void RequestUrl(string url, string data)//发送方法
    {

var request = WebRequest.Create(url);
        request.Method = "post";
        request.ContentType = "text/xml";
        request.Headers.Add("charset:utf-8");
        var encoding = Encoding.GetEncoding("utf-8");

if (data != null)
        {
            byte[] buffer = encoding.GetBytes(data);
            request.ContentLength = buffer.Length;
            request.GetRequestStream().Write(buffer, 0, buffer.Length);
        }
        else
        {
            //request.ContentLength = 0;
        }

//using (HttpWebResponse wr = request.GetResponse() as HttpWebResponse)
        //{
        //    using (StreamReader reader = new StreamReader(wr.GetResponseStream(), encoding))
        //    {
        //        return reader.ReadToEnd();
        //    }
        //}
    }

public string GetXml()//要发送的XML
    {
        StringBuilder strBuilder = new StringBuilder();
        strBuilder.Append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
        strBuilder.Append("<root>");
        strBuilder.Append("<customer_id>123</customer_id>");
        strBuilder.Append("<terminal_code>10444441</terminal_code>");
        strBuilder.Append("<customer_mobile>13464537875</customer_mobile>");
        strBuilder.Append("<customer_name>张三丰</customer_name>");
        strBuilder.Append("<relationship>母子</relationship>");
        strBuilder.Append("<baby_name>张国立</baby_name>");
        strBuilder.Append("<baby_sex>1</baby_sex>");
        strBuilder.Append("<baby_birthday>2012-06-08</baby_birthday>");
        strBuilder.Append("<province>浙江</province>");
        strBuilder.Append("<region>杭州</region>");
        strBuilder.Append("<county>建德</county>");
        strBuilder.Append("<address>西湖区文三路158号</address>");
        strBuilder.Append("<feedback>1</feedback>");
        strBuilder.Append("</root>");
        return strBuilder.ToString();
    }

//接收XML

public void GetDataSet(string text)
        {
            try
            {
                Stream inputstream = Request.InputStream;
                byte[] b = new byte[inputstream.Length];
                inputstream.Read(b, 0, (int)inputstream.Length);
                string inputstr = UTF8Encoding.UTF8.GetString(b);
                XmlDocument d = new XmlDocument();
                d.LoadXml(inputstr);
            }
            catch
            {
              
            }
        }

C#后台Post提交XML 及接收该XML的方法的更多相关文章

  1. form表单提交controller层接收到的值为乱码的问题

    今天遇到个中文乱码问题,大体情况是这样的:前台有一个form表单,其中有几个input的控件,值是带中文的,form表单只设置了id='form1' method='post'  action='xx ...

  2. 【Hadoop代码笔记】Hadoop作业提交之JobTracker接收作业提交

    一.概要描述 在上一篇博文中主要描述了JobTracker接收作业的几个服务(或功能)模块的初始化过程.本节将介绍这些服务(或功能)是如何接收到提交的job.本来作业的初始化也可以在本节内描述,但是涉 ...

  3. javaweb项目中jsp的from表单提交action内容与web.xml的servlet-mapping对应

    login.jsp <%@ page contentType="text/html;charset=UTF-8" language="java" %> ...

  4. ThinkPHP中使用ajax接收json数据的方法

    本文实例讲述了ThinkPHP中使用ajax接收json数据的方法.分享给大家供大家参考.具体分析如下: 这里通过ThinkPHP+jquery实现ajax,扩展了下,写了个查询,前台代码如下: 首先 ...

  5. XXE(XML External Entity attack)XML外部实体注入攻击

    导语 XXE:XML External Entity 即外部实体,从安全角度理解成XML External Entity attack 外部实体注入攻击.由于程序在解析输入的XML数据时,解析了攻击者 ...

  6. XML深入了解(XML JavaSprint)

    XMLHttpRequest 对象 XMLHttpRequest 对象用于在后台与服务器交换数据. XMLHttpRequest 对象是开发者的梦想,因为您能够: 在不重新加载页面的情况下更新网页 在 ...

  7. PHP通过XML报文格式的POST请求方式,与第三方接口交互(发送xml,获取XML,并解析xml步骤)

    开发者端:发送请求,并接收结果 <?php // 下面的demo,实现的功能如下: // 1-开发者需要判断一个用户是否存在,去请求第三方接口. // 2-与第三方接口的通信,是以xml格式传送 ...

  8. 使用原始XML资源——使用原始XML文件

    下面为示例程序添加一个原始的XML文件,将该XML文件放到/res/xml目录下,该XML文件的内容很简单.XML资源的内容如下. 程序清单:  \res\xml\books.xml文件 <?x ...

  9. python通过get,post方式发送http请求和接收http响应的方法,pythonget

    python通过get,post方式发送http请求和接收http响应的方法,pythonget 本文实例讲述了python通过get,post方式发送http请求和接收http响应的方法.分享给大家 ...

随机推荐

  1. 理解Linux文件系统之 inode

    一.inode是什么? 理解inode,要从文件储存说起. 文件储存在硬盘上,硬盘的最小存储单位叫做”扇区”(Sector).每个扇区储存512字节(相当于0.5KB). 操作系统读取硬盘的时候,不会 ...

  2. 2018年11月22日 字典 E18灯翼平整度 D&G is SB

    如果创建的东西需要增加修改的,则用list 如果不能修改就用元祖,如果需要修改这需要转成list 字典 字典的value是任意值 info= {"k1":'v1',"k2 ...

  3. luogu P2713 罗马游戏

    思路 模拟就好 左偏树合并 并查集寻找 代码 #include <bits/stdc++.h> #define FOR(i,a,b) for(int i=a;i<=b;++i) us ...

  4. 三部排序|2013年蓝桥杯B组题解析第六题-fishers

    三部排序| 一般的排序有许多经典算法,如快速排序.希尔排序等. 但实际应用时,经常会或多或少有一些特殊的要求.我们没必要套用那些经典算法,可以根据实际情况建立更好的解法. 比如,对一个整型数组中的数字 ...

  5. POJ 3041 Asteroids(最小点覆盖)题解

    题意:n*n的网格中有k个点,开一枪能摧毁一行或一列的所有点,问最少开几枪 思路:我们把网格看成两个集合,行集合和列集合,如果有点x,y那么就连接x->y,所以我们只要做最小点覆盖就好了. 参考 ...

  6. Get and Set Column/Row Names for Data Frames

    row.names(x)row.names(x) <- value rownames(x, do.NULL = TRUE, prefix = "row") rownames( ...

  7. Paper Reading: In Defense of the Triplet Loss for Person Re-Identification

    In Defense of the Triplet Loss for Person Re-Identification  2017-07-02  14:04:20   This blog comes ...

  8. 说明Heap与stack的差别。

    Heap 是堆,Stack 是栈. 栈与堆都是Java用来在Ram中存放数据的地方,与C++不同,Java会自动管理栈与堆,程序员不能直接设置栈与堆. Java的堆是一个运行时的数据区,类的对象从中分 ...

  9. ORM之EF

    本文大部分内容截取自博客:  http://www.cnblogs.com/VolcanoCloud/p/4475119.html (一) 为什么用ORM 处理关系数据库时,我们依据由行和列组成的表, ...

  10. 4、python内置类型(0529)

    支持运算:索引,切片,min(), max(), len()等 支持操作:对象的自有的方法 对字符串操作的内置方法获取:str.     //敲tab键补全 获取某个内建命令的属性和方法列表:dir( ...