[英]How to send “Raw XML” inside an XML soap message; C#, .Net Web Service
[英]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.