新闻中心

C# 如何删除xml文件中的指定节点

2025-11-01
浏览次数:
返回列表
使用XmlDocument加载XML文件,通过XPath查找目标节点,调用父节点的RemoveChild方法删除并保存。示例删除id为102的Person节点,需注意节点为空判断、文件读写权限及XPath语法正确性。

c# 如何删除xml文件中的指定节点

在C#中删除XML文件中的指定节点,通常使用 XmlDocument 类来加载、查找并移除节点。下面是一个清晰的步骤说明和示例代码。

1. 加载XML文档

使用 XmlDocumentLoad() 方法读取XML文件。

2. 查找要删除的节点

通过 SelectSingleNode()SelectNodes() 配合XPath表达式来定位目标节点。

常见筛选方式:

  • 按节点名称://NodeName
  • 按属性值://NodeName[@id='123']
  • 按子元素内容://Person[Name='张三']

3. 删除节点

找到节点后,调用其父节点的 RemoveChild() 方法将其移除,然后保存文件。

云网OA 云网OA

采用JSP开发的办公自动化产品、基于B/S结构,运行环境:JDK v1.5、Tomcat v5.5、MySQL v4.1,三者均为以上版本其他相关内容:可视化流程设计: 流程支持串签、会签和分支流程,可以设置流程节点的修改、删除权限,并可指定流程中各个用户在表单中可以填写的域。智能表单所见即所得设计: 智能设计,自动在数据库中生成表格,方便优化程序 公共交流: 集论坛、博客、聊天室于一体文件柜:C

云网OA 0 查看详情 云网OA

完整示例代码:

using System;
using System.Xml;

class Program
{
    static void Main()
    {
        // 创建XML文档对象
        XmlDocument doc = new XmlDocument();
        
        // 加载XML文件
        doc.Load("data.xml");

        // 使用XPath查找要删除的节点(例如:删除 id 为 '102' 的 Person 节点)
        XmlNode nodeToRemove = doc.SelectSingleNode(";//Person[@id='102']");

        if (nodeToRemove != null)
        {
            // 从其父节点中移除该节点
            nodeToRemove.ParentNode.RemoveChild(nodeToRemove);

            // 保存修改回文件
            doc.S*e("data.xml");
            Console.WriteLine("节点删除成功。");
        }
        else
        {
            Console.WriteLine("未找到指定节点。");
        }
    }
}

假设 data.xml 内容如下:

<People>
  <Person id="101">
    <Name>张三</Name>
  </Person>
  <Person id="102">
    <Name>李四</Name>
  </Person>
</People>

执行后,id为102的Person节点将被删除。

注意事项

  • 确保程序有对XML文件的读写权限。
  • 删除前建议先判断节点是否为null,避免异常。
  • 如果要删除多个节点,可用 SelectNodes() 返回节点列表进行遍历删除。
  • 注意XPath语法正确性,大小写敏感。
基本上就这些,操作简单但容易忽略空引用和文件权限问题。

以上就是C# 如何删除xml文件中的指定节点的详细内容,更多请关注其它相关文章!


# 是一个  # 白银抖音seo搜索优化  # 蚂蚁网seo  # 福建企业网站推广工具  # 海西网站优化多少钱  # 宜昌seo公司选择火星  # 孝义全网营销推广  # 亚马逊推广营销方案  # 福永微博营销推广  # 南通网站建设方案外包  # 滨州网站百度快照优化  # 文档  # c#  # 其父  # 多线程  # 如何使用  # 表单  # 移除  # 加载  # 信号量  # 云网  # ai  # node  # xml删除节点 


相关栏目: 【 科技资讯46185 】 【 网络学院92790


相关推荐: 必由学官网首页入口 必由学教师网页版登录指南  PHP URL参数传递与500错误调试指南  从J*aScript对象中精确提取指定属性的教程  网站内容防复制粘贴的实现策略与局限性  PHP高效扁平化嵌套数组:使用array_merge与数组解包操作符  UC浏览器官网入口2025最新 UC浏览器网页版正式地址  Windows10怎么开启存储感知 Windows10系统设置自动清理临时文件释放C盘空间【教程】  Bilibili动漫最新防封地址发布-Bilibili动漫2025年最稳正版入口推荐  生成rdflib自定义SPARQL函数:参数匹配与实践指南  Win11怎么隐藏桌面图标 Win11一键隐藏所有桌面元素及恢复显示  支付宝如何管理隐私设置_支付宝隐私保护的配置技巧  如何修改开机登录密码_Windows账户安全设置超详细教程【必学】  今日头条怎么同步内容到抖音_今日头条内容同步到抖音教程  谷歌学术网站直达地址 谷歌学术搜索网页版一键进入  J*aScript中高效管理与清空动态列表:避免循环陷阱  天眼查怎么看公司融资情况 天眼查企业融资历史查询步骤【攻略】  Adobe PDF表单中利用J*aScript解析与格式化日期组件的教程  Golang如何实现简单的Web表单_Golang表单提交与验证处理方法  一加Ace 6T支持全新明眸护眼:通过了最严苛的护眼小金标认证  Golang如何通过reflect操作map_Golang reflect map操作与遍历技巧  蛙漫安全无毒 官方认证的绿色入口  打开就能玩的植物大战僵尸 植物大战僵尸网页版传送门  解决J*aScript中重复选择项的确认对话框显示问题  Go语言中Map存储的结构体如何调用指针方法:深入解析与实践  蛙漫移动版在线看 蛙漫手机浏览器直达入口  CSS Flexbox如何实现多行排列_flex-wrap wrap自动换行显示  Win11怎么修改默认浏览器_Windows 11设置Chrome为默认  红果短剧网页版官网入口 官方最新网址发布  J*a递归快速排序中静态变量的状态管理与陷阱  php源码怎么看淘宝客系统_看php源码淘宝客系统技巧  QQ邮箱官方邮箱登录入口 QQ邮箱网页版快速访问  Win10如何开启蓝牙功能_Windows10找不到蓝牙开关解决方法  mcjs网页版在线存档 mcjs云存档登录入口  msn官网入口地址手机版 msn官方网站手机最新链接  限制HTML日期输入框的日期选择范围  漫蛙漫画官方主页入口 漫蛙MANWA网页直达访问链接  C++如何操作大型数据集_使用C++流式处理(Streaming)技术避免一次性加载大文件  神经网络二分类模型训练异常:高损失与完美验证准确率的排查与修正  内存疯狂猛猛涨价:主板销量直接腰斩!  支付宝如何设置安全保护_支付宝安全设置的全面教程  Python自定义类排序:解决lambda键值访问TypeError的实践指南  将HTML动态表格多行数据保存到Google Sheet的教程  “在文档元素之后找到了标记”是什么错误? 检查并修复XML中多个根元素的3个方法  J*a中实现Go语言select通道多路复用机制  poki网页游戏推荐_poki免费游戏平台入口  一加Ace 6T实拍样张首次公布!李杰:主摄实力完全看齐4K档性能旗舰  Highcharts 雷达图径向轴标签定制指南:利用多Y轴实现数值标注  vivo浏览器自带的下载器速度慢怎么办 vivo浏览器提升文件下载速度的技巧  必由学网页版入口 必由学官方平台直接访问  NetBeans Ant项目:自动化将资源文件复制到dist目录的教程 

搜索