如何强制 XDocument 以大写形式输出序言,同时保留缩进和格式?

2023-12-05

I want XDocument输出 XML 序言(例如“<?xml version="1.0" encoding="UTF-8"?>") 大写。

这是我目前正在做的事情,但这似乎不起作用:

XDocument doc = new XDocument
(
     new XDeclaration("1.0", "UTF-8",""),
     bla bla bla);
     doc.Save(@"Z:\test.xml");
)

此代码不起作用,它以小写形式出现。执行此操作时,不应更改标识和格式。 任何帮助将不胜感激。谢谢。

*EDIT:*这个问题仍然悬而未决,是否有更多的想法来解决这个问题。


XDocument xdoc = new XDocument();

.... // do your stuff here

string finalDoc = xdoc.ToString();
string header = finalDoc.Substring(0,finalDoc.IndexOf("?>") + 2); // end of header tag

finalDoc = finalDoc.Replace(header, header.ToUpper());  // replace header with the uppercase version

.... // do stuff with the xml with the upper case header

EDIT:

哦,你只想要 UTF-8 大写?

那么这样更正确:

XDocument xdoc = new XDocument();

.... // do your stuff here

string finalDoc = xdoc.ToString();
string header = finalDoc.Substring(0,finalDoc.IndexOf("?>") + 2); // end of header tag
string encoding = header.Substring(header.IndexOf("encoding=") + 10);
encoding = encoding.Substring(0,encoding.IndexOf("\""); // only get encoding content

// replace encoding with the uppercase version in header, then replace old header with new one.
finalDoc = finalDoc.Replace(header, header.Replace(encoding, encoding.ToUpper()));

.... // do stuff with the xml with the upper case header

这只会手动将编码中的内容替换为大写。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何强制 XDocument 以大写形式输出序言,同时保留缩进和格式? 的相关文章

随机推荐

  • 即使没有网络可用,如何保存 WebView 内容以供显示?

    我正在创建一个应用程序并使用 WebView 来打开 URL 我看到一些应用程序向用户提供 保存页面 网页 选项 我想知道如何从 WebView 保存页面 以便我可以在用户请求时将其显示给用户 也许使用缓存是最好的方法 为此你应该检查htt
  • 为什么这个 jQuery 事件不会在 Gmail 中触发?

    我在将 jQuery 事件绑定到 gmail body 时遇到问题 body on click function event console log Entered function 访问 IMDB com 例如 并在 Google Chr
  • 使用 DOMPDF 和重定向创建 PDF

    在 PHP 项目中 我需要创建一个 PDF 文件 并在用户单击 提交 按钮时重定向到另一个页面 我已经成功使用创建了 pdf 文件DOMPDF PDF 创建在单独的文件中完成 PDFRecipt php 当用户单击主页上的按钮时 我已调用该
  • Lambda 表达式返回错误

    这是我的代码 SomeFunction m gt ViewData AllEmployees Where c gt c LeaderID m UserID 它返回此错误 并非所有代码路径都返回 lambda 表达式类型的值System Fu
  • SDK19 启动时相机2 库崩溃的 Android 应用程序

    我在我的应用程序中使用 androidx camera camera2 库 该库适用于 SDK 21 及更高版本 但我希望允许用户在没有camera2支持的情况下启动SDK 19的应用程序 我在代码中检查了 SDK 版本 但应用程序在启动时
  • Laravel 5:找不到“HTML”类

    我刚刚开始使用 Laravel 我处于控制器方法中 我说 return View make scrape data 然后在 scrape blade php 中我有 extends layouts master 最后 在 layouts m
  • 未收到 Firebase Cloud Messaging 的 Android 后台通知

    我搜索了很多有关应用程序在后台或关闭时的通知的信息 顺便说一句 我正在使用 Firebase 云消息传递 这对我不起作用 我使用了 Android 设置 当应用程序位于前台或手机未锁定时 会收到通知 安装后 令牌会正确打印并订阅该主题 当我
  • 如何缩放 HTML5 画布而不使其变得模糊?

    我使用以下标记创建了画布
  • 如何使 UIPickerView 组件环绕?

    我想在 UIPickerView 组件中显示一组连续数字 但让它像 Clock gt Timer 应用程序的秒组件一样环绕 我可以启用的唯一行为类似于计时器应用程序的小时组件 您只能在一个方向上滚动 将行数设置为较大的数字并使其以较高的值开
  • 在字符串中插入空格(Matlab)

    我有一根绳子 S ABACBADECAEF 如何在该字符串中的每 2 个字符之间插入一个空格 预期输出应该是 Out S AB AC BA DE CA EF 有几种方法可以做到这一点 所有这些方法都假设您的字符串长度是even 如果字符数量
  • Bash:简单变量赋值时“找不到命令”

    这是我的脚本的一个简单版本 显示失败 bin bash something false something else blahblah name file ext echo something echo something else ech
  • JPanel 的绘制背景

    我怎样才能告诉paint方法只在JPanel上绘制背景而不是在整个JFrame上 我的 JFrame 大小比 JPanel 大 当我尝试为 JPanel 绘制网格背景时 网格似乎被绘制在整个 JFrame 而不仅仅是 JPanel 上 这里
  • android - 按类型过滤 assetManager.list 文件

    我想从资产中的特定目录获取 html 文件的列表 有代码 gt gt private List
  • 语句“USE @dbname”不起作用,为什么?怎么做?

    我有这个 t sql 片段 DECLARE db name varchar 255 SET db name MY DATABASE assuming there is database called my database USE db n
  • 如何从本身触发 hx-get 调用的 SSE 事件中获取 htmx get 的 url?

    我正在将 django 与 django channels 和 htmx 一起使用 在某些情况下 我的 django 视图将向订阅相关频道的用户发送 SSE 事件 例如通知 其中一些事件 取决于事件名称 需要触发模式弹出窗口 例如电子商务订
  • HTML5 Canvas - 使用鼠标按锚点旋转

    我正在html5的canvas元素中进行开发 我有以下代码 它是可拖动且可调整大小的图像 我怎样才能将它变成可通过锚点旋转 我怎样才能通过锚点提供实时旋转 我看到了其他代码示例 但不知道如何实现它 采样器工作 http jsfiddle n
  • [0,1,2,3].map 工作正常,array.map 给出奇怪的结果

    我正在使用成帧器运动 并且我正在尝试实现交错 以便每个下一个孩子都有一些不错的延迟 有一行关键代码 当我替换时 0 1 2 3 map with recipes map突然间 所有的孩子都被视为一大块 他们不再摇摇欲坠 看看这个demo你一
  • 如何启用/禁用内核 kaslr、smep 和 smap

    我想知道如何从 Linux 内核启用或禁用这 3 个功能 kaslr smep smap 我读过我必须在内核命令行中添加一些内容才能启用此功能 我查看了 proc cmdline 我没有看到任何有关 smep 的信息 但是 当我询问 pro
  • 统计catch块中发生的异常数量

    我正在尝试收集发生异常的所有计数以及异常的名称ConcurrentHashMap这样我就应该知道这个异常发生了多少次 因此 在我的 catch 块中 我有一个映射 它将继续添加异常的名称和出现的总计数 下面是我的代码which I have
  • 如何强制 XDocument 以大写形式输出序言,同时保留缩进和格式?

    I want XDocument输出 XML 序言 例如 大写 这是我目前正在做的事情 但这似乎不起作用 XDocument doc new XDocument new XDeclaration 1 0 UTF 8 bla bla bla