【发布时间】:2017-02-01 17:44:47
【问题描述】:
我正在尝试使用 JSON.NET 将 XML 转换为 JSON。我现在的问题似乎是代码在 LoadXml 期间挂起。
XmlDocument xDoc = new XmlDocument();
Console.WriteLine("1");
xDoc.LoadXml("discordBotFiles/xmldata.xml");
Console.WriteLine("2");
String jsonConversion = JsonConvert.SerializeXmlNode(xDoc);
Console.WriteLine("3");
JObject textToJson = JObject.Parse(jsonConversion);
无论 XML 是什么,无论 XML 中的内容如何,它总是在 LoadXml 调用时挂起。打印到控制台是为了确定它挂在哪里。
编辑:我已将 LoadXml 更改为 Load,但它仍然没有抛出异常并且仍然挂起。
Edit2:唉,我发现了异常。我没有出现在控制台中,但它出现在 Visual Basic 的输出中。我没想到那里看。 抛出异常:System.Xml.dll 中的“System.IO.FileNotFoundException”
【问题讨论】:
-
你确定它挂了,而不是它抛出异常?您使用错误的方法来加载您的 xml file,因为
LoadXml的参数是实际的 XML,而不是文件名,因此我假设代码实际上是在抛出异常。你是在线程中运行它吗? -
xml 文件有多大?在大文件上使用 XmlDocument 很慢,您应该使用 XmlReader 来读取较小的文件。
-
我已将其更改为加载,但它仍然挂起,叹息。而且文件非常小。可悲的是,我害怕在这里发帖,因为我正在制作一个 nsfw 应用程序。我不确定它是否在线程中运行,一个月只编写 C# 代码做小程序。这是我的第一个大的。不过它是在异步下运行的。
-
你验证过是否抛出异常吗?
-
你怎么知道它不会抛出异常?