C#で文字列があるとき、XMLレスポンスをデシリアライズする方法:ルートノードは、Microsoft認知テキスト翻訳のAPIは、次の形式で応答を与える
<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">nl</string>
私は次のコードでそれをデシリアライズしようとしていました。
var serializer = new XmlSerializer(typeof(string));
var stringReader = new StringReader(xmlResult); // xmlResult is the xml string above
var textReader = new XmlTextReader(stringReader);
var result = serializer.Deserialize(textReader) as string;
しかし、これは、例外が発生します:
のSystem.InvalidOperationException:エラーがありますXML文書(1、23)。 ---> System.InvalidOperationException:http://schemas.microsoft.com/2003/10/Serialization/ '>は期待されていませんでした。
私は別のルートノードにapi response xmlをラッピングすることを考えていました。オブジェクトに解析することができました。しかし、これを解決するにはよりよい方法が必要です。
私の問題を解決していただきありがとうございます。
文字列から 'nl'を取得しますか? –
@wiktorStribiżewはい、単に 'nl'部分 –
' var result = XElement.Parse(xmlResult).Value; ' –