/*十有三博客*/
  • 首页
  • 关于本站
  • 网站地图
  • RSS订阅

ASP.NET MVC出现XML5632仅允许有一个根元素

2015-04-05 十有三 0 浏览:1万+ .NET技术 ASP.NET | ASP.NET MVC

本文记录了ASP.NET MVC项目中,使用XmlWriter类输出XML流,导致Response响应网站出现空白页,并且在调试中出现XML5632:仅允许有一个根元素的错误。

XmlWriter的InvalidOperationException异常

造成此原因是由于在使用XmlWriter的时候,没有使用Close()方法关闭流,导致所输出的XML为无限的文档。流输出没有关闭而使XML格式不完整。

MSDN上有相关说明:

1、在调用 Close 之后执行要编写其他输出的调用,或者此调用的结果是无效的XML文档。

2、使用 XmlWriter 方法输出 XML 时,在调用 Close 方法前,不会写入元素和属性。 例如,如果使用 XmlWriter 写入 XmlDocument,则在关闭 XmlWriter 之前,您将无法在目标文档中看到写入的元素和特性。

具体的代码如下:

Response.ContentType = "application/xml";
XmlWriter responseWriter = XmlWriter.Create(Response.OutputStream, null);
responseWriter.WriteStartElement("book");
responseWriter.WriteElementString("name", "西游记");
responseWriter.WriteEndElement();
//一定要关闭流
responseWriter.Close();

最后如果没有调用Close方法关闭流的话,就会出现仅允许有一个根元素的错误,这是因为输出的XML文档格式不完整,导致变成无效的文档。


作者:十有三

出处:https://shiyousan.com/post/635638351541082723

版权声明:本文采用知识共享许可协议:署名-相同方式共享 4.0 国际(CC BY-SA 4.0)。欢迎转载本文,转载请声明出处或保留此段声明。


  • 上一篇: 分享一个MIME Types大全网址
  • 下一篇: asp.net mvc 使用XmlWriter输出XML未调用Close方法造成错误

相关文章
  • ASP.NET MVC移除URL后面自动加上的AspxAutoDetectCookieSupport=1
  • 解决asp.net中 jquery ajax调用一般处理程序ashx出现"正在中止线程"异常
  • 从 datetime2 数据类型到 datetime 数据类型的转换产生一个超出范围的值
  • ASP.NET中.aspx页面使用<script runat="server">标记无法输出"</script>"字符串
  • AntiForgeryToken生成过程解析-ASP.NET MVC防伪标记源码学习[上]
  • (译)在 ASP.NET中使用 XML-RPC 进行ping

文章分类

.NET技术 123 数据库 24 Web前端 21 网站建设运维 37 操作系统与应用 66 程序猿日常 11 开发工具 12 其他随笔 13

文章标签

ASP.NET ASP.NET MVC C# CSS HTML IIS Javascript Linux MongoDB MySql SQL SQL Server Visual Studio Windows系统 版本控制系统 插件工具 服务器 搞笑娱乐 好文分享 软件应用 生活知识 手机问题 随笔 网络知识 网站设计优化 网站维护 养生保健 异常处理 硬件设备 游戏攻略

热门文章

  • IIS8如何安装和使用URL重写工具-URL Rewrite
  • 林蛋大与楚中天,朱肚皮与朱月坡
  • 解决IE11安装升级失败和在安装前需要更新的问题
  • Windows Server 2012无法安装 .NET3.5-安装角色或功能失败,找不到源文件
  • VS重构重命名的快捷键

推荐文章

  • .NET 使用HttpWebRequest 伪造Request.UrlReferrer
  • SQL 获取下一条数据
  • Windows Server 2012 R2 更改计算机管理员账号提示“出现扩展错误,未能保存本地策略数据库”
  • c# 字符串string类型转换成DateTime类型
  • HTML使用相对路径获取各级目录下文件

友情链接

  • Passingwind的博客
  • 码友网

知识共享许可协议 CC BY-SA 4.0本站作品采用知识共享许可协议:署名-相同方式共享 4.0 国际(CC BY-SA 4.0)。
闽ICP备15003702号
闽公网安备 35020302035102号