2012-02-28 13 views
2

MessageBodyMember属性を設定したプロパティを持つMessageContractクラスがあります。 、着信SOAP要求をXML要素を持っている、それは次のようになります。SOAPリクエストからWCFサービスへのXML属性の読み取り

<level num="3">error</level> 

MessageContract内部エラーレベルのプロパティは、次のようになります。代わりに文字列「エラー」の

[MessageBodyMember(Name="level", Order = 6)] 
public string ErrorLevel { get; set; } 

を、私は属性 'num'の値を読みたい。それを行う方法はありますか? http://msdn.microsoft.com/en-us/library/system.xml.linq.xelement.aspx

コードは次のとおりです:

+0

xmlをXDocumentにロードして、Linqを使って値と属性の値を得るための適切なノードを見つけることができます – Rajesh

答えて

0

あなたはこのクラスを使用してXML型を構築することができます

TextReader sr = new StringReader("<level num="3">error</level>"); 
XElement xml = XElement.Load(sr); 

それはあなたがそうのような属性にアクセスすることができます完了すると:

int Num = Int32.Parse(xml.Element("level").Attribute("num").Value); 

完全なXML文書を作成する場合は、 "XDocument"と "XDeclaration"が必要です。

必要なステートメントを忘れないでください。

+0

(Sayakも同じLINQクラスです) –

+0

* Rajeshも言及しています* ...申し訳ありません –

+0

はい、受信SOAPリクエストをXElementに変換するにはどうすればよいですか? VSは、要求を受信するとすぐにXMLをエンティティに自動的に解析します。 –

関連する問題