SQL Server 2005數據庫有一個表叫了一個名爲XML類型的MessageXml列的消息。
C#使用Linq to Sql類的庫項目,該類使用名爲MessageXml的類型爲XElement的字段生成名爲Message的類。
WCF Webservice,公開一個MessagePayload類,其中包含一個名爲MessageXml的XElement類型的屬性。
Web服務不提供由Linq創建的消息類到Sql。我使用重量輕的物體作爲之間的一部分。
問題
是真正的XElement我希望可以用我的WCF服務或是否有更好的類型的類型。打算傳入服務的xml應該是完整的文檔。另外,我在將Xml文檔作爲XElement加載時遇到了一些問題。我認爲我應該在服務的輕量級類中公開一個完整的xml文檔類型,但是我對XDocument和XmlDocument之間的區別感到困惑。
最重要的是,我不能公開帶有XDocument類型屬性的WCF Message類,因爲它包含無法序列化的XDeclaration類型的屬性。
如果我使用XmlDocument,而不是我必須在Linq類和輕量級類之間進行翻譯時做這種奇怪的xml類型轉換。
XmlDocument doc = new XmlDocument();
doc.LoadXml(message.MessageXml.ToString());
MessageEnvelope retVal = new MessageEnvelope()
{
MessageXml = doc,
};
的XmlDocument似乎是正確的,我知道我必須做一些翻譯,但希望得到儘可能接近適合作爲可能的。
-1:XML與字符串不同。不要用它來表示XML。 – 2009-07-27 03:25:18
我知道,這就是爲什麼你必須驗證它在序列化轉換前後... – marr75 2009-07-28 16:06:13