System.Xml.XmlException:缺少根元素[关闭]
Posted
技术标签:
【中文标题】System.Xml.XmlException:缺少根元素[关闭]【英文标题】:System.Xml.XmlException:Root element is missing [closed] 【发布时间】:2020-10-18 11:40:11 【问题描述】:我有一个将 json 作为 HttpResponseMessage 返回的 REST Api。 当我在计算机的 localhost 中运行它时,一切正常,我得到了 json 结果。 但是当我将它托管在另一个系统的 IIS 服务器上时,我得到了这个错误:
"Message": "An error has occurred.",
"ExceptionMessage": "Root element is missing.",
"ExceptionType": "System.Xml.XmlException",
"StackTrace": " at System.Web.Http.ApiController.
<InvokeActionWithExceptionFilters>d__1.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---\r\n at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)\r\n at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)\r\n at System.Web.Http.Dispatcher.HttpControllerDispatcher.<SendAsync>d__0.MoveNext()"
我使用 SoapUI 作为 Web 服务测试工具
返回结果代码块:
XmlDocument doc = new XmlDocument();
doc.LoadXml(XML_Result);
string jsonText = JsonConvert.SerializeXmlNode(doc);
response = Request.CreateResponse(HttpStatusCode.OK);
response.Content = new StringContent(jsonText, Encoding.UTF8, "application/json");
// return Request.CreateResponse(HttpStatusCode.OK, response, Configuration.Formatters.JsonFormatter);
return response;
已编辑:调用 LoadXml 时发生错误,其参数来自我在此处调用的另一个服务。 在这行代码中
doc.LoadXml(XML_Result);
【问题讨论】:
更好地展示您如何获得XML_Result
值。
嗨@AlexanderPetrov,它来自我在这里称之为的另一个服务
你可以看这个帖子***.com/questions/10125810/root-element-is-missing
我以为您在调用 doc.LoadXml
方法时会得到显示的错误。是这样吗?
究竟是哪里抛出的错误?
【参考方案1】:
调用 LoadXml 方法时发生错误。 在 doc.LoadXml(XML_Result) XML_Result 返回一个空字符串。 不为空就解决了。
【讨论】:
以上是关于System.Xml.XmlException:缺少根元素[关闭]的主要内容,如果未能解决你的问题,请参考以下文章
System.Xml.XmlException:“':'字符,十六进制值 0x3A,不能包含在名称中。”
Web 服务调用导致 System.Xml.XmlException:'.',十六进制值 0x00
System.Xml.XmlException '根级别的数据无效,第 1 行,位置 1' 当我从 1 个 xml 文件更改为 5 时出现错误
System.Xml.XmlException: “=”是意外的标记。标记应为“;”