C# 将XML元素添加到XML文件C中的现有XML元素#
请注意,我正在尝试将数据插入xml,这是插入数据后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 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);