【发布时间】:2016-11-09 10:21:13
【问题描述】:
Microsoft Cognitive Text Translator 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: 不是预期的。
我正在考虑将 api 响应 xml 包装在另一个根节点中,这样我就可以将它解析为一个对象。但是必须有更好的方法来解决这个问题。
【问题讨论】:
-
你想从字符串中获取
nl吗? -
@WiktorStribiżew 是的,只是
nl部分 -
试试
var result = XElement.Parse(xmlResult).Value;
标签: c# .net xml string root-node