簡體   English   中英

如何在C#中將Raw XML轉換為SOAP XML?

[英]How to convert Raw XML to SOAP XML in C#?

我有一些從XML Serializer生成的xml。我怎樣才能將它轉換為SOAP XML?...我正在嘗試使用ASP.NET C#...請幫幫我

您只需要創建一個可由XMLSerializer和SOAPFormatter序列化的數據類。 這可能意味着您將需要具有XMLSerializer的公共屬性的公共類,並且您需要為SOAPFormatter添加Serializable屬性。 否則,它非常直接。

我創建了一個天真的例子來說明我的意思:

[Serializable]
public class MyData 
{
    public int MyNumber { get; set; }
    public string Name { get; set; }
}

class Program
{
    static void Main(string[] args)
    {
        using (MemoryStream stream = new MemoryStream())
        {
            MyData data = new MyData() { MyNumber = 11, Name = "StackOverflow" };

            XmlSerializer serializerXML = new XmlSerializer(data.GetType());
            serializerXML.Serialize(stream, data);

            stream.Seek(0, SeekOrigin.Begin);

            data = (MyData)serializerXML.Deserialize(stream);

            // We're cheating here, because I assume the SOAP data
            // will be larger than the previous stream. 
            stream.Seek(0, SeekOrigin.Begin);

            SoapFormatter serializerSoap = new SoapFormatter();
            serializerSoap.Serialize(stream, data);

            stream.Seek(0, SeekOrigin.Begin);

            data = (MyData)serializerSoap.Deserialize(stream);
        }
    }
}

沒有“原始XML”和“SOAP XML”這樣的東西。

你想達到什么目的? 如果您只是嘗試將XML作為Web服務的響應返回,那么只需將其放入XmlDocument或XDocument中,然后返回根元素:

[WebMethod]
public XmlElement ReturnXml()
{
    XmlDocument doc = new XmlDocument();
    doc.Load(fromSomewhere);
    return doc.DocumentElement;
}

聽起來你想把你的xml包裝成肥皂盒? 如果是這樣的話

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM