現在の実装Webサービスに適したXMLタイプは何ですか?テーブルと
のSQL Server 2005データベースは、xml型のMessageXmlという列とメッセージを呼ばれます。
C#XElement型のMessageXmlというフィールドを持つMessageというクラスを生成する、Linq to SqlクラスのC#ライブラリプロジェクトです。
XElement型のMessageXmlというプロパティを持つMessagePayloadクラスを公開するWCF Webサービス。
Webサービスは、LinqがSqlに作成したメッセージクラスを提供しません。私は軽量オブジェクトを間に入れて使用します。
質問
は本当に私は私のWCFサービスで使用したいか、より良いタイプがあるタイプのXElementです。サービスに渡すことを意図しているxmlは完全なドキュメントでなければなりません。また、私はXElementとしてXML文書をロードするのに少し問題があります。私はサービスの軽量クラスで完全なxmlドキュメントタイプを公開する必要があると思いますが、XDocumentとXmlDocumentの違いについて少し混乱します。
さらに、WCF Messageクラスには、シリアル化できないXDeclaration型のプロパティが含まれているため、XDocument型のプロパティで公開することはできません。
私がXmlDocumentを使用すると、LinqクラスとLightweightクラスの間の変換でxmlタイプの変な変換を行う必要があります。
XmlDocument doc = new XmlDocument();
doc.LoadXml(message.MessageXml.ToString());
MessageEnvelope retVal = new MessageEnvelope()
{
MessageXml = doc,
};
XmlDocumentオブジェクトは、右のいずれかのように思えるし、私はいくつかの変換を行う必要があるでしょう知っているが、可能性として適切に近い取得したいです。
-1:XMLは文字列と同じではありません。 XMLの表現には使用しないでください。 –
私はそれがシリアル化のために変換の前後にそれを検証しなければならない理由を知っています... – marr75