C# 将XML映射到传入参数

C# 将XML映射到传入参数,c#,xml,object,input,request,C#,Xml,Object,Input,Request,我有一段XML数据正在发送到API,此时XML数据包含硬编码的值。我想让它充满活力。当用户使用特定方法向我的API发送POST请求并定义某些输入时,我希望将这些输入映射到我的外部XML模板,然后将此请求发送给第三方API 目前,一切都在使用硬编码值进行工作,我从第三方API检索一个XML字符串响应,将其序列化为一个对象,然后显示给用户 我是否需要为请求和响应创建另一个对象?我不知道怎么做 C#方法: XML: 用户名 通过 794 TTB试验 XML示例 BVE 114102073 01514

我有一段XML数据正在发送到API,此时XML数据包含硬编码的值。我想让它充满活力。当用户使用特定方法向我的API发送POST请求并定义某些输入时,我希望将这些输入映射到我的外部XML模板,然后将此请求发送给第三方API

目前,一切都在使用硬编码值进行工作,我从第三方API检索一个XML字符串响应,将其序列化为一个对象,然后显示给用户

我是否需要为请求和响应创建另一个对象?我不知道怎么做

C#方法:

XML:


用户名
通过
794
TTB试验
XML示例
BVE
114102073
01514890609
OrderCanceledBy运算符

目前我没有传递任何参数,但这是下一步/

是的,您需要另一个对象。请求和响应显示在以下网页上:如何将其映射到外部xml文件您可以获得resposne流,然后使用xmlToFormat.LoadXml(响应流);
 [HttpGet]
    public Provisioning LLUCancel()
    {

        XmlDocument doc = new XmlDocument();
        string path = HttpContext.Current.Server.MapPath("~/XML/Provisioning/LLUCancel.xml");
        doc.Load(path);

        string xml = doc.InnerXml;
        string _url = "https://webservices.opalonline.co.uk/LLUProvisioningService/LLUPublicProvisioningWSV19.asmx";
        string _action = "https://webservices.opalonline.co.uk/LLUPublicProvisioningWS/SendCommand";

        var soapResult = WebService.ApiRequest(_url, _action, xml);

        XmlDocument xmlToFormat = new XmlDocument();
        xmlToFormat.LoadXml(soapResult);

        string Outerxml = xmlToFormat.FirstChild.NextSibling.FirstChild.FirstChild.LastChild.OuterXml;

        //Remove all namespaces
        var xmlToBeStripped = XElement.Parse(Outerxml);
        string finalXml = XmlFormatter.stripNS(xmlToBeStripped).ToString();

        Provisioning result;

        // Deserialises xlm into an object 

        XmlSerializer serializer = new XmlSerializer(typeof(Provisioning));
        using (TextReader reader = new StringReader(finalXml))
        {
            result = (Provisioning)serializer.Deserialize(reader);
        }

        return result;
    }
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <soap:Body>
    <SendCommand xmlns="https://webservices.opalonline.co.uk/LLUPublicProvisioningWS">
      <request>
        <UserCredentials>
          <Username>username</Username>
          <Password>PASS</Password>
          <AgentID>794</AgentID>
        </UserCredentials>
        <Command xsi:type="LLUCancelCommand">
          <ResellerReference>TTB Test</ResellerReference>
          <ResellerAccountReference>XML Example</ResellerAccountReference>
          <CancellingRID>BVE</CancellingRID>
          <TargetCommandID>114102073</TargetCommandID>
          <Provisioning xsi:type="CLIProvisioningIdentifier">
            <CLI>01514890609</CLI>
          </Provisioning>
          <CancelReason>OrderCancelledByOperator</CancelReason>
        </Command>
      </request>
    </SendCommand>
  </soap:Body>
</soap:Envelope>