ノードをxmlファイルに追加しようとしています。xmlファイルに新しいノードを追加する方法
XMLファイル:
<Students>
<Student>
<Address> ... </Address>
<Grade> ... </Grade>
</Student>
...
</Students>
ここでは、私が行って何です:
public XmlElement createNode(XmlDocument xmlDoc)
{
XmlElement trElement = xmlDoc.CreateElement("Descriptions");
XmlElement textElement = xmlDoc.CreateElement("Text");
textElement.SetAttribute("String", "Abcdef");
textElement.SetAttribute("Language", "ENG");
trElement.AppendChild(textElement);
return trElement;
}
public void doWork(string filePath)
{
XmlDocument fromXML;
fromXML = new XmlDocument();
fromXML.Load(filePath);
XmlNode fromRoot = fromXML.DocumentElement;
foreach (XmlNode node in fromRoot.ChildNodes)
{
if (node.ChildNodes[0].Name != "Descriptions")
{
var trElement = createNode(fromXML);
node.InsertBefore(trElement, node.ChildNodes[0]);
}
}
fromXML.Save(Console.Out);
}
コードは、上記の各Student
にノードDescriptions
を追加します。どのようにノードDescriptions
をxmlツリーのより深いところにある他のノードに追加できますか?現在のループは生徒に対して繰り返し実行されますが、例:Grade
などではありません。
ようdoWork方法でそれを使用するためにこの方法が機能するには、ループの入れ子になったが、この例のためのタスクを実行しないのだろうか? –
私に例を挙げてもらえますか? – Sam
ここで再帰が必要かもしれないと思います。 –