ASP.NET MVC C# Web アプリケーション内で読み取る必要がある、リモートでホストされた XML SOAP メッセージがあります。私は上記のテクノロジーのすべてに慣れていないので、気楽にやってください。
- データ ソースに接続する方法
- SOAP メッセージをモデル化するモデルを作成する方法
- 「GetMetalQuoteResult」の内容を C# オブジェクトに変換するために必要な LinQ クエリは何ですか? 例:soap メッセージ応答の個々の要素にアクセスします。
以下のスキーマ。
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetMetalQuoteResponse xmlns="http://.../...">
<GetMetalQuoteResult>
<Type>string</Type>
<Currency>string</Currency>
<Date>Date</Date>
<Time>Time</Time>
<Rate>decimal</Rate>
<Bid>decimal</Bid>
<BidTime>Time</BidTime>
<ExpTime>DateTime</ExpTime>
<DisplayTime>Time</DisplayTime>
<DisplayDate>Date</DisplayDate>
<Ask>Decimal</Ask>
<AskTime>Time</AskTime>
</GetMetalQuoteResult>
</GetMetalQuoteResponse>
</soap:Body>
</soap:Envelope>
現在、コントローラー内に次のコードがあります。
var xml = XElement.Load(url);
System.Diagnostics.Debug.WriteLine("");
foreach (XElement x in xml.Nodes())
{
System.Diagnostics.Debug.WriteLine(x.Name + ":\n"+ x.Value);
}
System.Diagnostics.Debug.WriteLine("");
しかし、これは以下を返すだけです:
{http://schemas.xmlsoap.org/soap/envelope/}
Body:XAUGBP5/22/201212:21:04 PM1000.86251000.862512:21:04 PM2012 May 22 12:21 PM BST1:21:04 PM EDT05/22/121001.249412:21:04 PM
別の行に返す必要があります。
Type: XAU
Currency: GBP
Date: 5/22/201212:21:04
....
....
よろしくお願いします。