You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在C#中使用LINQ运行时修改XElement的默认值

在C#中使用LINQ修改XElement的默认值属性

直接通过LINQ to XML即可快速定位目标元素并修改属性值,以下是完整实现代码:

using System;
using System.Xml.Linq;

class Program
{
    static void Main()
    {
        // 加载目标XML(可替换为从文件/流读取的逻辑)
        string xmlContent = @"<Automobile>
  <MainBlock>Car</MainBlock>
  <Name>Audi</Name>
  <Value type=""System.Double"" min=""0"" max=""100"" default=""50"" resolution=""1.0"" unit="""" />
</Automobile>";
        
        XElement automobile = XElement.Parse(xmlContent);
        
        // 定位Value元素并修改default属性
        var targetElement = automobile.Elements("Value").FirstOrDefault();
        if (targetElement != null)
        {
            targetElement.SetAttributeValue("default", "20");
        }
        
        // 输出修改后的XML验证结果
        Console.WriteLine(automobile.ToString());
    }
}

核心逻辑说明

  • XML加载:使用XElement.Parse解析XML字符串,若从文件读取可改用XElement.Load方法。
  • 元素定位:通过Elements("Value")获取所有同名子元素,FirstOrDefault()避免因找不到元素抛出异常。
  • 属性修改:SetAttributeValue方法会自动覆盖现有属性值,若属性不存在则直接创建。

如果需要更精准的筛选(比如结合其他属性条件),可扩展LINQ查询:

var targetElement = automobile.Elements("Value")
                             .Where(e => e.Attribute("type")?.Value == "System.Double")
                             .FirstOrDefault();

内容的提问来源于stack exchange,提问作者user2027571

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 15:25:26