【问题标题】:Cannot convert XElement to XObject无法将 XElement 转换为 XObject
【发布时间】:2018-10-08 08:40:16
【问题描述】:

我正在尝试使用以下代码序列化 XML 文件:

XmlDocument xDoc = new XmlDocument();
xDoc.Load(@"D:\myfile.xml");
string jsonStr = JsonConvert.SerializeXNode(xDoc);

但它不起作用,我在第 3 行出现以下错误

无法将 XmlDocument 转换为 XObject

我也尝试找到第一个节点,然后尝试传递它,但它也不起作用。

【问题讨论】:

  • 请注意,您使用的标题与您的实际错误不符。 从 XElement 到 XObject 的转换 - 但没有从 XmlDocument 到 XObject 的转换。

标签: c# serialization xml-serialization


【解决方案1】:

您使用的是来自“旧”XML API 的XmlDocument。 Json.NET 使用 LINQ to XML 的“新”XML API。您只需要更改加载 XML 的方式:

XDocument xml = XDocument.Load(@"D:\myfile.xml");
string json = JsonConvert.SerializeXNode(xml);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多