无法将XElement转换为XObject

时间:2018-10-08 08:40:17

标签: c# serialization xml-serialization

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

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

但是它不起作用,我在第三行遇到以下错误

  

无法将XmlDocument转换为XObject

我还试图找到第一个节点,然后尝试传递它,但它也无法正常工作。

1 个答案:

答案 0 :(得分:3)

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

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