3

DataContracts 名前空間を "" に設定すると、1 つの名前空間が削除されましたが、もう 1 つの名前空間を削除する必要があります。

xmlns:i="http://www.w3.org/2001/XMLSchema-instance"

他に方法がない場合、名前空間を返す前にクラスをシリアル化してハッキングするにはどうすればよいですか?

別の会社の API を使用するには、これを行う必要があります。

4

2 に答える 2

1

WCF を破棄する以外の唯一の現実的なオプションは、ストリームを返すようにサービス コントラクトを変更し、XML シリアル化を自分で行うことです。データ コントラクト シリアライザーを引き続き使用し、文字列に変換してすべての名前空間を取り除いてから、ストリームに変換して返すこともできますが、それは厄介なことに思えます。

POST ボディで名前空間なしで XML を受け入れる必要がある場合は、さらに多くの苦痛が伴います。その場合、私は WCF を非常に迅速にダンプします。

于 2009-12-11T20:23:08.023 に答える
0

DataContract および DataMember 属性を削除してみてください。これで問題が解決する場合があります。

于 2011-05-09T21:51:10.817 に答える