C# 如何只读取xml的某个片段


使用 XDocument 可读取 XML 中指定节点,如通过 LINQ 筛选 Id 为 "2" 的 Person 节点,支持从字符串或文件加载,推荐结合 Elements 和 FirstOrDefault 进行条件查询,也可用 XPath 定位,适合中小文件处理。

c# 如何只读取xml的某个片段

在 C# 中,若只想读取 XML 的某个特定片段(例如某个节点或节点集合),可以使用 XmlDocument 或 XDocument(LINQ to XML)来实现。推荐使用 XDocument,因为它更简洁、现代。

使用 XDocument 读取指定节点片段

假设你有如下 XML 文件:



  
    Alice
    25
  

  
    Bob
    30
  

你想只读取 Id 为 "2" 的 Person 节点内容。

示例代码:

using System;
using System.Linq;
using System.Xml.Linq;

class Program
{
  static void Main()
  {
    string xml = @"
      Alice25
      Bob30
    
";

    XDocument doc = XDocument.Parse(xml);

Copymatic Copymatic

Cowriter是一款AI写作工具,可以通过为你生成内容来帮助你加快写作速度和激发写作灵感。

Copymatic 149 查看详情 Copymatic

    // 查找 Id 为 2 的 Person 节点
    var targetPerson = doc.Root
      .Elements("Person")
      .FirstOrDefault(e => e.Attribute("Id")?.Value == "2");

    if (targetPerson != null)
    {
      Console.WriteLine(targetPerson); // 输出整个节点
      // 也可以单独读取子元素
      Console.WriteLine($"Name: {targetPerson.Element("Name")?.Value}");
      Console.WriteLine($"Age: {targetPerson.Element("Age")?.Value}");
    }
  }
}

从文件加载 XML 并读取片段

如果 XML 存在于文件中,只需将 XDocument.Parse 替换为 XDocument.Load("path/to/file.xml"):

XDocument doc = XDocument.Load("data.xml");
var node = doc.Root.Elements("Person")
             .FirstOrDefault(e => e.Attribute("Id")?.Value == "2");

使用 XPath(可选,需添加命名空间)

你也可以使用 XPath 表达式来定位节点,但需要引入 System.Xml.XPath:

using System.Xml.XPath;

var node = doc.XPathSelectElement("//Person[@Id='2']");

注意事项

  • 确保节点和属性存在,避免空引用异常,建议使用 ?. 操作符
  • 若 XML 结构复杂或嵌套深,XPath 可能更方便
  • XDocument 适合小到中等大小的 XML;超大文件建议用 XmlReader 流式处理

基本上就这些。用 LINQ to XML(XDocument)方式最直观,筛选条件灵活,代码也清晰。

以上就是C# 如何只读取xml的某个片段的详细内容,更多请关注其它相关文章!


# 只需  # 百度推广网站头像男  # seo优化技术专业教材  # 江苏完善seo优化方法  # 致橡树教案网站建设  # 汕头检察院网站建设  # 广州seo排名渠道  # 浦东网站建设服务  # 山西推广型网站招商  # 铜陵网站建设价格多少钱  # 淮南抖音seo推广教程  # 推荐使用  # c#  # 为你  # 你也  # 加载  # 开源  # 如何处理  # 如何使用  # 可以使用  # 死锁  # ai  # node  # xml片段读取 


相关栏目: 【 Google疑问12 】 【 Facebook疑问10 】 【 优化推广96088 】 【 技术知识133117 】 【 IDC资讯59369 】 【 网络运营7196 】 【 IT资讯61894 】


相关推荐: Highcharts雷达图径向轴数值标签实现教程  TikTok网页版实时观看入口 TikTok网页版短视频在线浏览  《鹿路通》退余额方法  192.168.1.1路由器后台入口 192.168.1.1默认登录入口  解决CSS background 属性中 cover 关键字的常见误用  vivo云服务一直提示空间不足怎么办 怎么办vivo云服务老是提示空间不足  msn官方入口2025登录 msn官网2025直达首页入口  淘口令快速解析技巧  Coolpad5890 ROM刷机包  高效调试PHP大型嵌套数组:JSON序列化与可视化工具实践  C++ virtual析构函数作用_C++基类虚析构函数防止内存泄漏  如何在 WordPress 前端实现内容提交:古腾堡编辑器的替代方案与实践  b站怎么用微信登录_b站微信登录方法  快递优选如何查优选物流_快递优选专属物流渠道查询与配送时效  电脑的“恢复环境(WinRE)”找不到怎么办_Windows系统恢复环境重建【高级修复】  汽水音乐车机版 汽水音乐车机版官方入口  《虎扑》关闭社区内容推荐方法  《淘票票》添加到苹果钱包教程  在VS Code中进行数据科学和机器学习开发  mysql数据库索引类型有哪些_mysql索引类型解析  PySimpleGUI中实现键盘按键与按钮事件绑定教程  我的世界官方网址入口 我的世界游戏主页直达入口  Lar*el 中高效执行多列更新:单次查询实现  雨课堂官网在线登录 网页版雨课堂登录链接  CSS布局中意外顶部空白的调试与解决:深入理解padding-top  《伊瑟》凶影追缉库卢鲁boss攻略  《爱笔思画x》魔棒工具抠图教程  Bootstrap 5导航栏折叠功能失效:数据属性迁移指南  冬季去寒冷地区旅游,以下哪种做法有助于缓解冻伤  Go语言中方法与接收器:指针和值类型的调用机制详解  消除网页顶部意外空白线:CSS布局常见问题与解决方案  Cassandra中复合主键、二级索引与ORDER BY排序的限制与解决方案  vivo手机视频通话美颜怎么设置_vivo视频通话美颜开启方法  J*aScript装饰器_元编程实战  感染了幽门螺杆菌一定会导致胃癌吗?蚂蚁庄园今日答案最新11.30  J*aScript:从子元素中批量移除特定CSS类  TikTok笔记文字无法编辑如何解决 TikTok笔记文字编辑优化方法  胃动力不足?试试这5个调理方法  偃武诸葛亮阵容搭配推荐  MongoDB聚合管道:高效统计列表中各项的文档数量  如何用mysql开发用户注册登录功能_mysql用户注册登录数据库设计  百度小说看书时如何翻页_百度小说手动翻页与自动翻页设置  风车动漫官网首页入口登录 风车动漫在线观看正版地址  优化响应式标题底部边框:CSS实现技巧与最佳实践  Lar*el Dusk 测试中管理浏览器权限:以剪贴板访问为例  Go语言反射机制:如何访问被嵌入结构体遮蔽的方法  纯CSS实现自适应宽度与响应式布局的水平按钮组  Win10如何彻底关闭OneDrive Win10禁用云同步功能【纯净】  猫眼app抢票快还是小程序快  《深林》冬季章节图文攻略 

 2025-11-04

了解您产品搜索量及市场趋势,制定营销计划

同行竞争及网站分析保障您的广告效果

点击免费数据支持

提交您的需求,1小时内享受我们的专业解答。

运城市盐湖区信雨科技有限公司


运城市盐湖区信雨科技有限公司

运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。

 8156699

 13765294890

 8156699@qq.com

Notice

We and selected third parties use cookies or similar technologies for technical purposes and, with your consent, for other purposes as specified in the cookie policy.
You can consent to the use of such technologies by closing this notice, by interacting with any link or button outside of this notice or by continuing to browse otherwise.