.NET Fiddle

CSharp · Console

/Program.cs

using System;
using System.Text;
using System.IO;
using System.Xml;
using System.Xml.Serialization;
					
public class Program
{
    [XmlRoot]
    public class Request
    {
        [XmlElement]
        public string SomeStuff { get; set; }
        
        [XmlAnyElement]
        public XmlElement Payload { get; set; }
    }
	
	public static XmlElement GetPayloadElement(string xml)
	{
		var xmlDoc = new XmlDocument();
		var payloadElem = xmlDoc.CreateElement("Payload");

		try
		{
			if (!string.IsNullOrEmpty(xml))
			{
				xmlDoc.LoadXml(xml);
				payloadElem.InnerXml = xmlDoc.DocumentElement.OuterXml;
			}
		}
		catch (Exception exception)
		{
			payloadElem.InnerXml = exception.Message;
		}
		
		return payloadElem;
	}
		
	
	public static void Main()
	{
		var xmlInput = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<CreateTransportRequest>\r\n<transportId>42</transportId>\r\n<v1></v1>\r\n</CreateTransportRequest>";
		var payloadElem = GetPayloadElement(xmlInput);
				
		var pendingRequest = new Request
		{
			SomeStuff = "Lorem Ipsum",
			Payload = payloadElem
		};
		
		using (var ms = new MemoryStream())
		using (var sw = new StreamWriter(ms, Encoding.UTF8))
		{
			new XmlSerializer(typeof(Request)).Serialize(sw, pendingRequest);
			Console.WriteLine(Encoding.UTF8.GetString(ms.ToArray()));
		}
	}
}
;