我在服务上运行一个方法,该方法仅在字符串上返回一行XML:
<boolean xmlns="http://schemas.microsoft.com/2003/10/Serialization/">true</boolean>
我正在尝试以这种方式反序列化此行:
var strXml = "<boolean xmlns='http://schemas.microsoft.com/2003/10/Serialization/'>true</boolean>";
XmlSerializer serializer = new XmlSerializer(typeof(bool));
bool success = false;
using (TextReader reader = new StringReader(strXml))
{
success = (bool)serializer.Deserialize(reader);
}
但在行
success = (bool)serializer.Deserialize(reader);
引发异常:
There is an error in XML document (1, 2)
关于我能做什么有什么线索?我是XML序列化的新手。
最佳答案
您只需从根节点获取值,然后尝试将其解析为布尔值:
//load into XDocument
var doc = XDocument.Parse("<boolean xmlns=\"http://schemas.microsoft.com/2003/10/Serialization/\">true</boolean>");
bool success = bool.Parse(doc.Root.Value); //true
关于c# - 如何在C#上仅反序列化XML一行?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43072309/