【问题标题】:Adding element to xml [closed]将元素添加到 xml [关闭]
【发布时间】:2013-09-19 03:51:41
【问题描述】:

我有一个类似的 XML

<SystemSettings version="1">
  <SettingsGroup name="items">
   <Setting name="value1">10</Setting>
  </SettingsGroup>
 <SettingsGroup name="item2">
   <Setting name="value2">1</Setting>
 </SettingsGroup>
</SystemSettings>

我要添加

<Setting name="value3">5</Setting> 

在项目 2 中。我该如何添加?尝试使用 XElement,但无法完成

【问题讨论】:

  • 您首先将示例代码添加到您的问题中 - 请查看 sscce.org 了解详细信息。 (另外阅读有关使用 XML 的 MSDN 可能是另一个起点)。
  • 除了 Alexei 提到的内容之外,我建议发布您使用 XElement 尝试过的代码,有人可能会帮助您解决代码中的问题或提出替代方案。

标签: c# .net xml xpath


【解决方案1】:

这对我有用:

xdocument
    .Descendants("SettingsGroup")
    .Where(x => x.Attribute("name").Value == "item2")
    .First()
    .Add(new XElement("Setting", new XAttribute("name", "value3"), 5));

【讨论】:

    【解决方案2】:
        string filename = "test.xml";
        XmlDocument doc = new XmlDocument();
        doc.Load(filename);
    
        XmlElement element = doc.CreateElement("Setting");
        element.SetAttribute("name", "value3");
        element.InnerText = "5";
    
        doc.DocumentElement.ChildNodes[1].AppendChild(element);
        doc.Save(filename);
    

    【讨论】:

    • 我们可以删除硬编码的 childNodes[1] 吗?随便搜索一下 name="item2" ??
    猜你喜欢
    • 1970-01-01
    • 2019-10-14
    • 1970-01-01
    • 2012-04-14
    • 2013-07-19
    • 2011-08-30
    • 1970-01-01
    • 2020-08-02
    • 1970-01-01
    相关资源
    最近更新 更多