如何更新 xml 文件而不将整个文件加载到内存中

2024-04-05

我们如何更新 xml 文件而不将其完全加载到内存中。在下面的代码中,我想浏览每个父节点注释并更新 to 节点的值。我们如何使用 C# 来实现这一点。我必须根据代码中的其他一些计算来更新 to 字段。

<note>
<from>Jani</from>
<to>Tove</to>
</note>
<note>
<from>John</from>
<to>Doe</to>
</note>

您可以使用流式传输方法XmlReader and XmlWriter,您只需写出阅读器中除了需要更改的部分之外的所有内容。

斯科特·汉塞尔曼有一个blog http://www.hanselman.com/blog/StrippingOutEmptyXmlElementsInAPerformantWayAndTheBusFactor.aspx使用这种技术发布。

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

如何更新 xml 文件而不将整个文件加载到内存中 的相关文章

  • 在 OpenCL 中将函数作为参数传递

    是否可以在 OpenCL 1 2 中将函数指针传递给内核 我知道可以用C实现 但不知道如何在OpenCL的C中实现 编辑 我想做这篇文章中描述的同样的事情 在 C 中如何将函数作为参数传递 https stackoverflow com q
  • Blazor 与 Razor

    随着 Blazor 的发明 我想知道这两种语言之间是否存在显着的效率 无论是在代码创建方面还是在代码的实际编译 执行方面 https github com SteveSanderson Blazor https github com Ste
  • 在 C++11 中省略返回类型

    我最近发现自己在 C 11 模式下的 gcc 4 5 中使用了以下宏 define RETURN x gt decltype x return x 并编写这样的函数 template
  • std::map 和二叉搜索树

    我读过 std map 是使用二叉搜索树数据结构实现的 BST 是一种顺序数据结构 类似于数组中的元素 它将元素存储在 BST 节点中并按其顺序维护元素 例如如果元素小于节点 则将其存储在节点的左侧 如果元素大于节点 则将其存储在节点的右侧
  • 如何在 Spring 属性中进行算术运算?

  • 调试内存不足异常

    在修复我制作的小型 ASP NET C Web 应用程序的错误时 我遇到了 OutOfMemoryException 没有关于在哪里查看的提示 因为这是一个编译时错误 如何诊断此异常 我假设这正是内存分析发挥作用的地方 有小费吗 Thank
  • 为什么 BOOST_FOREACH 不完全等同于手工编码的?

    From 增强文档 http www boost org doc libs 1 48 0 doc html foreach html foreach introduction what is literal boost foreach li
  • 如何在 VS 中键入时显示方法的完整文档?

    标题非常具有描述性 是否有任何扩展可以让我看到我正在输入的方法的完整文档 我想查看文档 因为我可以在对象浏览器中看到它 其中包含参数的描述和所有内容 而不仅仅是一些 摘要 当然可以选择查看所有覆盖 它可能是智能感知的一部分 或者我不知道它并
  • VS30063:您无权访问 https://dev.azure.com

    我正在尝试在 asp net core 2 1 mvc 应用程序中使用以下代码连接 Azure DevOps Uri orgUrl new Uri https dev azure com xxxxx String personalAcces
  • C++11 函数局部静态 const 对象的线程安全初始化

    这个问题已在 C 98 上下文中提出 并在该上下文中得到回答 但没有明确说明有关 C 11 的内容 const some type create const thingy lock my lock some mutex static con
  • 为什么 std::allocator 在 C++17 中丢失成员类型/函数?

    一边看着std 分配器 http en cppreference com w cpp memory allocator 我看到成员 value type pointer const pointer reference const refer
  • 通过不同 DLL 或 EXE 中的指针或引用访问 STL 对象时发生访问冲突

    我在使用旧版 VC6 时遇到以下问题 我只是无法切换到现代编译器 因为我正在处理遗留代码库 http support microsoft com kb 172396 http support microsoft com kb 172396
  • C# 编译器如何决定发出可重定向的程序集引用?

    NET Compact Framework 引入了可重定向程序集引用 现在用于支持可移植类库 基本上 编译器会发出以下 MSIL assembly extern retargetable mscorlib publickeytoken 7C
  • 如何排列表格中的项目 - MVC3 视图 (Index.cshtml)

    我想使用 ASP NET MVC3 显示特定类型食品样本中存在的不同类型维生素的含量 如何在我的视图 Index cshtml 中显示它 an example 这些是我的代码 table tr th th foreach var m in
  • UWP 无法在两个应用程序之间创建本地主机连接

    我正在尝试在两个 UWP 应用程序之间设置 TCP 连接 当服务器和客户端在同一个应用程序中运行时 它可以正常工作 但是 当我将服务器部分移动到一个应用程序并将客户端部分移动到另一个应用程序时 ConnectAsync 会引发异常 服务器未
  • 过期时自动重新填充缓存

    我当前缓存方法调用的结果 缓存代码遵循标准模式 如果存在 则使用缓存中的项目 否则计算结果 在返回之前将其缓存以供将来调用 我想保护客户端代码免受缓存未命中的影响 例如 当项目过期时 我正在考虑生成一个线程来等待缓存对象的生命周期 然后运行
  • Silverlight Datagrid:在对列进行排序时突出显示整个列

    我的 Silverlight 应用程序中有一个 DataGrid 我想在对该列进行排序时突出显示整个列 它在概念上与上一个问题类似 Silverlight DataGrid 突出显示整列 https stackoverflow com qu
  • gdb查找行号的内存地址

    假设我已将 gdb 附加到一个进程 并且在其内存布局中有一个文件和行号 我想要其内存地址 如何获取文件x中第n行的内存地址 这是在 Linux x86 上 gdb info line test c 56 Line 56 of test c
  • 过度使用委托对性能来说是一个坏主意吗? [复制]

    这个问题在这里已经有答案了 考虑以下代码 if IsDebuggingEnabled instance Log GetDetailedDebugInfo GetDetailedDebugInfo 可能是一个昂贵的方法 因此我们只想在调试模式
  • Swagger 为 ASP.CORE 3 中的字典生成错误的 URL

    当从查询字符串中提取的模型将字典作为其属性之一时 Swagger 会生成不正确的 URL 如何告诉 Swagger 更改 URL 中字典的格式或手动定义输入参数模式而不自动生成 尝试使用 Swashbuckle 和 NSwag 控制器 pu

随机推荐

  • xampp 控制面板中禁用了 apache 和 mysql 启动按钮

    当我安装 xampp 时 它工作正常 但是一旦重新启动 关闭后 就会出现此错误 Apache Problem detected Apache not found Apache Disbling apache buttons Apache R
  • Unity3D - 将自定义标头添加到 WWWForm

    这是我运行的 C 代码 WWWForm formData new WWWForm Adding formData headers Add Authorization Basic System Convert ToBase64String E
  • 如何将参数从一个项目传递到另一个项目?

    截至所附屏幕截图 我有 4 个 Rest API 项目 我需要将生成的用户 ID 从项目 1 1 管理基础知识和获取 API 传递到其他项目 2 课程和课程 我正在使用测试运行程序运行每个项目 全局财产转移在这种情况下不起作用 有人可以帮我
  • jQuery ajax 和 SSL?

    在我们的网站中 某些页面使用 SSL 但大多数页面没有 因为它们需要由网络机器人抓取 它几乎可以归结为用户登录的任何页面 除了少数例外是在 SSL 下 但用户首先必须从非 https 页面登录 登录表单是从任何页面屏幕顶部掉落的表单 So
  • 如何将materialButton图标设置到中心

    我在用supportLibrary 28 0 0 beta01 版本 这是我在 xml 文件中的代码
  • Vim 折叠:如何隐藏所有不包含搜索模式的单行(或折叠零行)?

    我有一些文本文件 它们只是没有段落的列表 当我想专注于某个项目时 我可以折叠除搜索匹配项之外的所有内容 这要归功于 Vim Wikia 提示 282 简单折叠 set foldexpr getline v lnum nnoremap
  • Web 声卡检测

    我们需要一些关于业余爱好网络项目的提示 在此阶段 我们要检测客户端的声卡并将来自声卡的任何内容引导到服务器以处理音频 低延迟对我们来说是一个重要问题 因此 我们需要您对使用的语言 库等的建议 如果你能给我们一些大局的信息 那么我们就可以自己
  • git 报告合并冲突,没有任何更改,空行(使用 git-subtree)

    我正在测试使用git 子树 https github com apenwarr git subtree将库存储库合并到更大的项目中 原则上看起来很棒 有时 当我执行 git subtree pull 时 我会遇到如下合并冲突 lt lt l
  • Windows 7 .net Excel .SaveAs() HRESULT 错误异常:0x800A03EC

    背景 我在工作中为我的旧硬盘干杯 现在正在买一个新硬盘 这样我就必须重建我的机器 我的经理在他借用的笔记本电脑上安装了 Windows 7 在我的机器无法使用时我一直在使用这台笔记本电脑 但我遇到了一个问题 我们有相当多的应用程序使用 Mi
  • 我可以使用 git 提交文件,但在执行 git svn dcommit 时自动忽略它吗?

    我现在开始在 SVN 办公室采用 Git 作为我的个人工作流程 因此 git svn 是我将严重依赖的工具 我遇到的一个我不知道如何解决的问题是如何在一个方向上忽略 对我来说 具体的用例是我们的 ant 构建文件引用 svn 和 svnve
  • 具有相同列和索引的多个数据帧的平均值

    我有一些数据框 它们每个都有相同的列和相同的索引 对于每个索引 我想对每列中的值进行平均 如果这些是矩阵 我只需将它们相加并除以矩阵数量 这是一个例子 v1 pd DataFrame ind1 1 2 3 ind2 4 5 6 column
  • 适用于 Mac 的 C IDE 好用吗? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我刚刚开始在 Mac 上用 C 进行编程的工作 这是我第一次使用 Mac 进行开发 现在我使用 Xcode 作为编辑器 然后在命令行中使用
  • React-native 和 React

    我正在构建一个网络应用程序和 ios android 相同的应用程序 起初我认为 Cordova 可能是一个不错的选择 但读完之后我认为 React native 可能是一个更好的选择 我的问题是 我是否必须编写同一个应用程序两次 一次在
  • #include 导致错误

    VS 2010 C CLR 库项目 添加 comutil h 库时出错 gt Error 20 error LNK2001 unresolved gt external symbol extern C long gt stdcall Var
  • PostgreSQL - 动态值作为表名[重复]

    这个问题在这里已经有答案了 可能的重复 Postgres动态查询功能 https stackoverflow com questions 10639963 postgres dynamic query function 我希望使用下面的查询
  • 如何确定 Pandas 列是否包含特定值

    我试图确定 Pandas 列中是否有具有特定值的条目 我尝试这样做if x in df id 我认为这是有效的 除非我给它提供了一个我知道不在列中的值43 in df id 它仍然返回True 当我子集为仅包含与缺少的 id 匹配的条目的数
  • 服务器删除自定义 HTTP 标头字段

    我一直在尝试接收标头中带有自定义字段的 HTTP 请求 但似乎我的服务器删除了它们 这是我发送到服务器的请求 我使用 HTTP 代理读取该请求 POST oauth php request token HTTP 1 1 Host domai
  • Xbox 上的 UWP 应用

    在围绕 Windows 10 的活动和促销期间 我总是看到 UWP 应用程序可以在 Microsoft 系列的所有设备上运行 为了确认这一点 当我在浏览器上浏览 UWP 应用程序并单击以查看应用程序页面的源代码时 我能够看到以下元数据 那
  • MPAndroidChart:带有三次贝塞尔曲线的折线图显示错误(尖峰和循环)

    我正在尝试制作带有立方图的折线图 结果如下面的屏幕截图所示 三次贝塞尔曲线显示错误并且有 尖峰 有人可以帮我让它正确显示吗 这是我的配置 LineDataSet lineDataSet new LineDataSet entries nam
  • 如何更新 xml 文件而不将整个文件加载到内存中

    我们如何更新 xml 文件而不将其完全加载到内存中 在下面的代码中 我想浏览每个父节点注释并更新 to 节点的值 我们如何使用 C 来实现这一点 我必须根据代码中的其他一些计算来更新 to 字段