c# - Xml 未正确转换为对象

标签 c# xml

我有这个 XML 输入:

<Response xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"><Status>Ok</Status></Response>

我试图通过以下方式将其转换为对象:

XmlDocument xmlNode = new XmlDocument();
xmlNode.LoadXml(responseContent);
string jsonNode = JsonConvert.SerializeXmlNode(xmlNode);
var responseModel = JsonConvert.DeserializeObject<NotificationResponse>(jsonNode); 

其中 responseContent 是上面的 XML 字符串。然而,而不是得到

{Status: "Ok"} 

我得到:

{Status: null}

知道为什么以及如何纠正它吗?

最佳答案

你需要省略RootObject

XmlDocument xmlNode = new XmlDocument();
xmlNode.LoadXml("<Response xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"><Status>Ok</Status></Response>");
string jsonNode = JsonConvert.SerializeXmlNode(xmlNode, Formatting.Indented, true);
Console.WriteLine(jsonNode);

var responseModel = JsonConvert.DeserializeObject<NotificationResponse>(jsonNode);
Console.WriteLine(responseModel.Status);

关于c# - Xml 未正确转换为对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48548390/

相关文章:

c# - 可以从存储过程中编写 DAL 参数集合吗?

xml - 给定一个引用表,如何为每个引用反向查找数字对象标识符?

mysql - 使用 XPath 和编码导入 xml

c# - 在特定实例上触发的委托(delegate)和事件

C# Emgu.Cv wrapper : Retrieved (byte) pixel-values of Mat do not match Image<Gray, byte> 字节值,裁剪 ROI 时

c# - 如果不存在,是否创建数据库文件 (.sdf)?

XML::Twig 更改已删除

android - config.xml 文件中的 Ionic 2 调用、短信和邮件功能需要更改吗?

python - 在现有的 xml 文件中添加元素 python

c# - 当 UI 线程被阻塞时确保 Storyboard 动画流畅