C#:如何使用 C# 和 foreach 循环将元素添加到 XML
C#: How to add Elements to XML using c# & foreach loop
我有一个 xml 文件,如下所示:
<Configuration>
<Elements>
<Element>
<Value1>7</Value1>
</Element>
<Element>
<Value1>3</Value1>
</Element>
</Elements>
</Configuration>
我现在想在每个元素的顶部添加一个值元素,所以最后,xml 看起来像这样:
<Configuration>
<Elements>
<Element>
<Value0>17</Value0>
<Value1>7</Value1>
</Element>
<Element>
<Value0>13</Value0>
<Value1>3</Value1>
</Element>
</Elements>
</Configuration>
我在 c# 中尝试了以下内容:
XmlDocument doc = new XmlDocument();
doc.Load("config.xml");
XmlElement newelem = doc.CreateElement("Value0");
newelem.InnerText = newValue;
foreach (XmlNode node in doc.GetElementsByTagName("Element"))
{
node.InsertBefore(newelem, node.FirstChild);
}
这将添加新值,但仅添加到一个元素。
我该怎么做才能将它添加到每个元素中?
也许对此有一种完全不同的方法。
我希望有人能理解我在做什么,提前致谢!
在 for 循环中创建元素。这是一些使用 XPath 的工作代码。
foreach( XmlElement ndNode in xml.SelectNodes( "//Elements/Element")) {
XmlElement newelem = xml.CreateElement("Value0");
newelem.InnerText = "test";
ndNode.InsertBefore(newelem, ndNode.FirstChild);
}
我有一个 xml 文件,如下所示:
<Configuration>
<Elements>
<Element>
<Value1>7</Value1>
</Element>
<Element>
<Value1>3</Value1>
</Element>
</Elements>
</Configuration>
我现在想在每个元素的顶部添加一个值元素,所以最后,xml 看起来像这样:
<Configuration>
<Elements>
<Element>
<Value0>17</Value0>
<Value1>7</Value1>
</Element>
<Element>
<Value0>13</Value0>
<Value1>3</Value1>
</Element>
</Elements>
</Configuration>
我在 c# 中尝试了以下内容:
XmlDocument doc = new XmlDocument();
doc.Load("config.xml");
XmlElement newelem = doc.CreateElement("Value0");
newelem.InnerText = newValue;
foreach (XmlNode node in doc.GetElementsByTagName("Element"))
{
node.InsertBefore(newelem, node.FirstChild);
}
这将添加新值,但仅添加到一个元素。 我该怎么做才能将它添加到每个元素中? 也许对此有一种完全不同的方法。 我希望有人能理解我在做什么,提前致谢!
在 for 循环中创建元素。这是一些使用 XPath 的工作代码。
foreach( XmlElement ndNode in xml.SelectNodes( "//Elements/Element")) {
XmlElement newelem = xml.CreateElement("Value0");
newelem.InnerText = "test";
ndNode.InsertBefore(newelem, ndNode.FirstChild);
}