微軟認知文本翻譯API給出如下格式的響應:如何反序列化XML響應時根節點是在C#中的字符串
<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響應xml,所以我可以解析它到一個對象。但是必須有更好的方法來解決這個問題。
我很感謝您的幫助,以解決我的問題。
你想從字符串中獲得'nl'嗎? –
@WiktorStribiżew是的,只是'nl'部分 –
嘗試'var result = XElement.Parse(xmlResult).Value;' –