删除 XDocument 中的所有评论

2024-02-27

我正在阅读 XDocument。如何从 XDocument 中删除所有注释行。

我尝试过

 doc.DescendantNodes().Where(x => x.NodeType == XmlNodeType.Comment).Remove();

但这仅删除带有注释的第一级节点,而内部级节点保持原样。

有什么办法可以删除所有注释行。我相信一定有!!! ;)

任何解决方案。


而不是Where(x => x.NodeType == XmlNodeType.Comment)我会简单地使用OfType<XComment>(), as in

doc.DescendantNodes().OfType<XComment>().Remove();

但这两种方法都应该删除所有级别的注释节点。

这是一个例子:

XDocument doc = XDocument.Load("../../XMLFile1.xml");

doc.Save(Console.Out);

Console.WriteLine();

doc.DescendantNodes().OfType<XComment>().Remove();

doc.Save(Console.Out);

对于示例,我得到输出

<?xml version="1.0" encoding="ibm850"?>
<!-- comment 1 -->
<root>
  <!-- comment 2 -->
  <foo>
    <!-- comment 3 -->
    <bar>foobar</bar>
  </foo>
  <!-- comment 4 -->
</root>
<!-- comment 5 -->
<?xml version="1.0" encoding="ibm850"?>
<root>
  <foo>
    <bar>foobar</bar>
  </foo>
</root>

所以所有评论都被删除了。如果您仍然遇到问题,请发布示例,以便我们重现问题。

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

删除 XDocument 中的所有评论 的相关文章

  • 在这种情况下垃圾收集器会做什么? [复制]

    这个问题在这里已经有答案了 我试图了解 GC 将如何行动的两种情况 1 有两个对象 object1 和 object2 object1 引用了 object2 object2 引用了 object1 现在 这两个对象都没有被使用 GC 可以
  • 限制C#中的并行线程数

    我正在编写一个 C 程序来生成并通过 FTP 上传 50 万个文件 我想并行处理4个文件 因为机器有4个核心 文件生成需要更长的时间 是否可以将以下 Powershell 示例转换为 C 或者是否有更好的框架 例如 C 中的 Actor 框
  • WPF 4.0 InvokeCommandAction 兼容性 (System.Windows.Interactivity)

    当我在 WPF 4 0 中插入 InvokeCommandAction Blend 4 SDK 时遇到问题 用户控件未显示 并且我遇到了一些例外情况 登录底部 如果我的 xaml 代码中没有该行 就没有问题 但没有事件触发器 我已经在外部灯
  • MVC3 Controller 文件夹不会出现在 URL 中

    这只是一个例子 我不知道如何让它工作 在我的 MVC3 控制器文件夹中 如果我添加一个名为 Admin 的新文件夹 并添加一个带有操作 Index 的控制器 News 则当您尝试打开该 url 404 时 您会收到服务器错误 http ur
  • LINQ to XML - 如何正确使用 XDocument

    现在我首先要说的是 这确实是一项任务 然而 在我遇到 Linq to XML 语法之前 我几乎已经完成了它 我有 2 个课程 曲目和 CD 现在作为作业的一部分 我创建了一张 CD 然后向其中添加了一些曲目 在搜索了大量完美解释了如何从 x
  • HttpClient 响应 ReadAsAsync() 未完全反序列化对象

    我正在尝试使用 Web API 客户端库来使用 Web 服务 我的问题是 当提交函数使用 POST 方法时 ReadAsAsync 似乎不想完全反序列化返回的对象 如果我得到字符串形式的响应并手动解串它就可以了 我收到一条 apmsgMes
  • SecurityAction.RequestMinimum 在 .Net 4.0 中已过时

    最近 我们的 Net 客户端库正在升级以针对 Net 4 0 进行编译 将目标框架更改为4 0后 应用程序出现一些编译错误 In AssemblyInfo cs assembly SecurityPermission SecurityAct
  • 如何在asp.net C#中从http重定向到https并将其设为网站的默认版本

    如何在asp net c 中从http重定向到https 我已经安装了https证书现在我想将https设置为我的网站的默认版本 iam使用windows server 2008 R2 asp net C 4 0 您是否正在寻找这样的东西
  • 如何将表达式编译为实际结果?

    我正在使用表达式围绕 Web 服务调用构建一个 API 以允许开发人员指定查询并让 ExpressionVisitor 将表达式转换为查询字符串 该请求是 XML 具有包含查询字符串的特定元素 例如 我可以执行类似这样的操作 它将检索银行名
  • 用于动态视图数据/表单的 ASP.Net MVC 编辑器模板

    我正在实现一个 MVC3 Razor Web 应用程序 该应用程序检索用户可以从其他服务编辑的一些 字段 因此要在视图中编辑的属性列表是完全动态的并且在编译时未知 我编写了一些部分视图和 HTML 帮助程序 它们循环从其他服务检索到的组和属
  • C# 多维数组解析

    我有一个多维数组 内容在调试器中看起来像这样 数组设置为 String s new String 6 4 A B Yes C A B Yes C A B No C A B Yes C A B Yes C A B Yes C A B No C
  • 在 C# 中替换部分文件名

    我有一个文件夹 pdf文件 在大多数文件的名称中 我想用另一个字符串替换特定字符串 这是我写的 private void btnGetFiles Click object sender EventArgs e string dir tbGe
  • XDocument删除节点

    如何从加载的 XDocument 中删除特定节点 我的 XML 文档如下所示
  • 如何更改 TextWriter 对象中的编码?

    我有 xml 是通过 API 在另一个 resurse 中发送的 我通过 XDocument 创建它 XDocument xDoc new XDocument new XDeclaration 1 0 utf 8 yes new XElem
  • 由于 EndpointDispatcher 上的 AddressFilter 不匹配,无法在接收方进行处理

    我正在使用启用 ajax 的 WCF 当我在 Web 浏览器中打开 url 时 出现此错误 带有 Action 的消息http localhost 22219 MobileService svc GetProductCategories h
  • 午夜的 DateChange 事件[重复]

    这个问题在这里已经有答案了 可能的重复 后台工作人员检查什么时候是午夜 https stackoverflow com questions 3053695 background worker check for when its midni
  • 有没有办法判断当前屏幕是否支持触摸? [复制]

    这个问题在这里已经有答案了 可能的重复 是否可以让我的 c wpf 程序知道用户是否有触摸屏 https stackoverflow com questions 5673556 is it possible to let my c shar
  • 如何重写List.Add方法?

    目前我有一个错误日志记录类 如下所示 public class Log public enum LogTypes Info 1 Error 2 Warning 3 public string Message get set public L
  • sandcastle 未解决的装配参考

    我正在尝试使用 sandcastle 帮助文件生成器生成文档 在沙堡中构建项目时 我收到以下错误 MRefBuilder error Unresolved assembly reference Microsoft Owin Microsof
  • 如何实现快捷键的键盘处理程序cefSharp

    我正在构建一个用于浏览网页的 Windows 应用程序cefSharp 我需要在该应用程序中实现一些快捷键 任何人都可以告诉我如何实现此功能 Ex ctrl tab move to next tab 我能够跟踪用户是否按下任何单个键 但无法

随机推荐

  • 如何让 CreateProcess/CreateProcessW 在路径 > MAX_PATH 字符中执行进程

    我试图让 CreateProcess 或 CreateProcessW 执行名称 http msdn microsoft com en us library ms682425 aspx http msdn microsoft com en
  • 限制可排序的容器/父级

    好的 我又来了 和 RubaXa 一起玩Sortable http rubaxa github io Sortable 插件 希望他就在这附近 因为这个插件相当复杂 一些发现 我花了一些时间才完全理解这个机制 但我认为我是对的 Case 1
  • Windows 命令提示符中的别名

    我已经添加了notepad exe到我的环境变量中的路径 现在在命令提示符下 notepad exe filename txt打开filename txt 但我想做的只是np filename txt打开文件 我尝试使用DOSKEY np
  • intel avx2 中是否有 movemask 指令的逆指令?

    movemask 指令采用 m256i 并返回 int32 其中每个位 前 4 8 或所有 32 位 具体取决于输入向量元素类型 是相应向量元素的最高有效位 我想做相反的事情 取 32 其中只有 4 8 或 32 个最低有效位有意义 并获得
  • 冒泡排序有什么用? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何自定义App Designer人物的背景?

    我想附加徽标或更改应用程序设计器的整个背景uifigure 如何才能做到这一点 如果你想设置一个整个图的纯色背景色 那里存在有记录的方式 https www mathworks com help matlab ref uifigureapp
  • 验证在部分视图中不起作用

    我有一个索引页面 其中有两个部分视图 登录和注册 我正在使用数据模型验证 登录 cshtml model Project ViewModel UserModel div using Html BeginForm Login account
  • 从 Ada 访问 c 常量

    我有一个带有这样类型定义的头文件 ifndef SETSIZE define SETSIZE 32 endif typedef struct set unsigned array SETSIZE set t 要使用相应的 C 函数 我需要在
  • jquery 获取之前输入的文本

    我有以下 html div class active string div
  • 将大文件作为流发送到 process.getOutputStream

    我在 Windows 机器中使用 gzip 实用程序 我压缩了一个文件并作为 blob 存储在数据库中 当我想使用 gzip 实用程序解压缩此文件时 我将此字节流写入 process getOutputStream 但超过30KB后 就无法
  • Android 绘制点

    如何用画布绘制完整的圆或点 我使用画布和路径 绘画类 my code Override public boolean onTouchEvent MotionEvent event float eventX event getX float
  • 如何向谷歌图表中的图例添加工具提示

    使用最新版本的 Google Charts API 我有一个简单的条形图 我想在将鼠标悬停在图例中的元素上时显示一个工具提示 解释图例中的每个项目是什么 我仍然希望栏上的工具提示保持不变并显示其标签和值
  • 使用 GSM 调制解调器接收短信

    我读到 GSM 调制解调器每分钟最多只能接收 30 条短信 如果您需要收到更多 您会怎么做 还有其他技术吗 我认为您可能想要与列出的答案不同的东西构建短信服务器的最佳实践是什么 https stackoverflow com questio
  • 多态关联

    如果您具有多态belongs to关联 那么引用将添加所需的两列 create table products do t t references attachment polymorphic gt default gt Photo end
  • 我应该为范围最小查询使用什么使用 O(n) 存储和 O(log n) 查询时间的数据结构?

    我被算法课的以下作业问题难住了 Suppose that we are given a sequence of n values x1 x2 xn and seek to quickly answer repeated queries of
  • 鲍尔畸形

    我正在学习如何使用 Bower 为了开始 我创建了一个基本的 Bower json 文件 其职责是获取 jquery 我的 Bower json 文件如下所示 name MyProject version 0 0 1 devDependen
  • python 中的私有公共受保护访问说明符

    我们可以在Python中模拟私有和受保护的访问说明符吗 名称修改 eg var 10 可以模拟私有 但可以通过对象轻松地从外部访问 object className var 那么有没有一种方法可以模拟 或者 python 是否直接是我不知道
  • C#中使用ffmpeg提取帧时帧率慢且资源占用高

    我目前正在开发一个项目 需要在 C 中使用 ffmpeg 从视频中提取帧 但是 我面临帧速率慢和资源使用率高的问题 我使用的代码如下 private bool move false private int master frame 0 pr
  • C 流:直接将数据从一个流复制到另一个流,不使用缓冲区

    我想将数据从一个流复制到另一个流 现在通常情况下 我会这样做 n fread buffer 1 bufsize fin fwrite buffer 1 n fout 有没有办法直接写入数据fin to fout 不经过缓冲区 即代替fin
  • 删除 XDocument 中的所有评论

    我正在阅读 XDocument 如何从 XDocument 中删除所有注释行 我尝试过 doc DescendantNodes Where x gt x NodeType XmlNodeType Comment Remove 但这仅删除带有