c# - 使用编码从 XML 字符串中获取字节数组

标签 c# .net xml encoding

我在一个字符串中有 XML 内容,它在声明中定义了它的编码。我想从该字符串中获取字节数组并将其下载到客户端浏览器。

以下是有效的,但我对编码没有那么丰富的经验,我想知道如果我这样做会导致某些东西爆炸吗?

基本上,我从声明中获取编码,并使用该编码将 XML 字符串转换为字节数组。 它应该这样工作吗?

var xdoc = XDocument.Parse(xmlString);
var encoding = System.Text.Encoding.GetEncoding(xdoc.Document.Declaration.Encoding);

var encoded = encoding.GetBytes(xmlString);

Response.AppendHeader("Content-Disposition", "attachment; filename=" + xmlData.FileName);
return File(encoded, "text/plain");

最佳答案

您应该在 GetEncoding 周围放置一个异常处理程序 - 如果它无法识别编码名称,它将抛出。否则你很好。

关于c# - 使用编码从 XML 字符串中获取字节数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9297545/

相关文章:

ruby-on-rails - 我如何使用 Nokogiri 编写一个巨大的 XML 文件?

c# - 如何使用 C# 将数据集上传到我们的大型机并指定 LOCSITE、BLOCKSIZE 和 RECFM?

c# - 命名空间 "Interaction"中不存在名称 "http://schemas.microsoft.com/expression/2010/interactivity"

c# - 无法调用动态按钮上的 Click 事件

c# - 具有默认值的可空属性的自定义控件

xml - 春&jOOQ : configuring postgreSQL driver throws an error

c# - Win32 : Get device info in WH_KEYBOARD_LL || Block input on WM_INPUT when using Raw Input

c# - 在 mschart 中添加数据点时使用双标签

.net - 引用的程序集复制规则

android - 为什么我在引用未标记为 "@+id"的 ID 时不会收到错误消息?