将XML文档作为参数传递给C#中的Web服务

Bha*_*yal 9 c#

我必须将XML文档作为参数发送,以使用Post方法从Service请求WebRequest.

任何人都可以帮助解决如何将XML文档作为参数发送,或者如何使字符串中的整个文档像文档一样传递.

Fil*_*urt 8

如果要使用命名表单参数POST您的Xml数据,您需要执行以下操作:

HttpWebRequest request = HttpWebRequest.Create("http://yourdomain.com/whatever") as HttpWebRequest;
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";

Encoding e = Encoding.GetEncoding("iso-8859-1");
XmlDocument doc = new XmlDocument();
doc.LoadXml("<foo><bar>baz</bar></foo>");
string rawXml = doc.OuterXml;

// you need to encode your Xml before you assign it to your parameter
// the POST parameter name is myxmldata
string requestText = string.Format("myxmldata={0}", HttpUtility.UrlEncode(rawXml, e));

Stream requestStream = request.GetRequestStream();
StreamWriter requestWriter = new StreamWriter(requestStream, e);
requestWriter.Write(requestText);
requestWriter.Close();
Run Code Online (Sandbox Code Playgroud)


Mah*_*esh 5

阅读本文解释XML文档和Web服务将 XML文档作为参数传递给Web服务

  [WebMethod]

public System.Xml.XmlDocument SampelXmlMethod( System.Xml.XmlDocument xmldoc)


 string xmldata = "<xform>" +

        "<instance>" +

        "<FirstName>Andrew</FirstName>" +

        "<LastName>Fuller</LastName>" +

        "<BirthDate>2/19/1952</BirthDate>" +

        "</instance>" +

        "</xform>";



    //Load xmldata into XmlDocument Object
    System.Xml.XmlDocument SendingXmlDoc = new System.Xml.XmlDocument();

    SendingXmlDoc.LoadXml(xmldata);



   //Call web service and get xmldocument back 
    System.Xml.XmlDocument ReceivingXmlDoc = new System.Xml.XmlDocument();

    XmlService ser = new XmlService();  //Your web srevice..

    ReceivingXmlDoc = ser.SampelXmlMethod(SendingXmlDoc);
Run Code Online (Sandbox Code Playgroud)