C# 将XML元素添加到XML文件C中的现有XML元素#

C# 将XML元素添加到XML文件C中的现有XML元素#,c#,xml,nsxmlelement,C#,Xml,Nsxmlelement,请注意,我正在尝试将数据插入xml,这是插入数据后xml文件的当前格式 <?xml version="1.0" encoding="utf-8"?> <ApplicationData> <Minutes> </Minutes> <Minute MinuteId="6" Title="Project6" Date="6" Time="Project6" Location="6" MinuteD

请注意,我正在尝试将数据插入xml,这是插入数据后xml文件的当前格式

<?xml version="1.0" encoding="utf-8"?>
<ApplicationData>
        <Minutes>

        </Minutes>

        <Minute MinuteId="6" Title="Project6" Date="6" Time="Project6" Location="6" MinuteDocumentFile="Project6" />
        <Minute MinuteId="6" Title="Project6" Date="6" Time="Project6" Location="6" MinuteDocumentFile="Project6" /> 

</ApplicationData>
上面的代码工作得很好,但我现在面临的挑战是,我正在尝试实现如下所示的当前xml格式

<?xml version="1.0" encoding="utf-8"?>
<ApplicationData>
        <Minutes>
             <Minute MinuteId="6" Title="Project6" Date="6" Time="Project6" Location="6" MinuteDocumentFile="Project6" />
             <Minute MinuteId="6" Title="Project6" Date="6" Time="Project6" Location="6" MinuteDocumentFile="Project6" /> 
        </Minutes>
</ApplicationData>

我想将创建的“分钟”XmlElement存储在“分钟”元素内部,而不是外部

谢谢..

电话线

_xmlDocument.DocumentElement.AppendChild(_minutesElement);
只是将新的_minutes元素附加到树的末尾。您需要告诉它您希望它属于哪个元素

改为:

_xmlDocument.DocumentElement["Minutes"].AppendChild(_minutesElement);
给出:

<?xml version="1.0" encoding="utf-8"?>
<ApplicationData>
  <Minutes>
    <Minute MinuteId="6" Title="Project6" Date="6" Time="Project6" Location="6" MinuteDocumentFile="Project6" />
  </Minutes>
</ApplicationData>


你说的是一个挑战,独自一人去做不是一个挑战吗?:)_+1.保持简洁。这就是应该如何做到的。我对(a)使用XElement与XmlElement之间的区别和(b)使用XElement与XmlElement的原因感到好奇,并找到了这个有用的答案:在这里应该很容易找到原因。@Henkholtman确实,这就是我的想法。很明显,有一段时间没有看到XmlElement是有原因的。
<?xml version="1.0" encoding="utf-8"?>
<ApplicationData>
  <Minutes>
    <Minute MinuteId="6" Title="Project6" Date="6" Time="Project6" Location="6" MinuteDocumentFile="Project6" />
  </Minutes>
</ApplicationData>
var doc = XElement.Load(config.XMLPath);
var target = doc.Descendants("Minutes").First();
target.Add(new XElement("Minute", new XAttribute("MinuteId", 6), new ...));
doc.Save(config.XMLPath);