[英]Serializing from an object into an XML node
我有2個Web服務。 一個Web服務接受一個類型為A的對象。在Visual Studio中使用“添加服務引用”時,它將創建一個名為AType
的類。
我第二個Web服務的輸入方法(稱為x(...))實際上接受類型A的參數,但由於某種原因,WSDL不正確,並將其聲明為## any。
<any namespace="##any" processContents="lax" minOccurs="1" maxOccurs="1">
這意味着在我的代碼中,我將必須從XmlDocument創建一個XmlElement:
private static XmlDocument doc = new XmlDocument();
XmlElement e = doc.CreateElement("some-name", "some-uri");
有沒有辦法將AType轉換為XmlElement? 我必須先回到字符串嗎?
作為替代方案,我正在考慮合並兩個Web服務WSDL文件...
我終於發現以下代碼完全符合我的要求:
public static XmlElement Serialize(MyObject someClassInstance)
{
XmlSerializer serializer = new XmlSerializer(typeof(MyObject));
XmlDocument doc = new XmlDocument();
XPathNavigator nav = doc.CreateNavigator();
XmlWriter writer = nav.AppendChild();
serializer.Serialize(writer, someClassInstance);
writer.WriteEndDocument();
writer.Flush();
writer.Close();
return doc.DocumentElement;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.