微软认知文本翻译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;' –