无法将 XElement 转换为 XObject

Cannot convert XElement to XObject

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

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

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

Cannot convert XmlDocument into XObject

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

您正在使用 XmlDocument,它来自 "old" XML API。 Json.NET 使用 LINQ to XML 的 "new" XML API。您只需要更改加载 XML:

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