创建XML并通过HTTP发送

时间:2011-07-05 17:30:21

标签: .net asp.net xml e-commerce

我正在使用Litle的支付系统,我必须创建一个XML文档,根据他们的XSD验证它,然后通过HTTP post传输它。

有什么建议吗?

目前我正在计划使用XmlDocument类进行XML创建和验证,并且还在研究如何将其传输到服务器,并获取响应(也是XML格式)。

最好的方法是什么?

否:没有基于Web服务的API。只需手动格式化XML和发布。虽然如果有一些库可以实现自动化,那将非常有用。

1 个答案:

答案 0 :(得分:4)

您可以使用WebClient发送HTTP请求。

using (var client = new WebClient())
{
    client.Headers[HttpRequestHeader.ContentType] = "text/xml";
    // you could add any other HTTP request headers that the server expects

    // fetch the XML that you want to POST
    string xml = ...
    byte[] data = Encoding.UTF8.GetBytes(xml);
    // POST the XML to the given address
    byte[] result = client.UploadData("http://example.com", data);

    // TODO: process the result, for example load it in a XDocument
    using (var stream = new MemoryStream(result))
    using (var reader = XmlReader.Create(stream))
    {
        var doc = XDocument.Load(reader);
    }
}