Так у меня есть этот тип файл XML:Добавить новый ребенок к существующему ребенку
<?xml version="1.0" encoding="utf-8"?>
<root>
<Project1>
<Students>
<Student>
<name>test2</name>
<studentnum>01</studentnum>
</Student>
</Students>
</Project1>
</root>
Чтобы добавить новый студент в этом XML-файл, я использую этот код (C#)
XmlDocument doc = new XmlDocument();
doc.Load(Server.MapPath("datastorage.xml"));
XmlElement Student = doc.CreateElement("Student");
XmlElement name = doc.CreateElement("name");
XmlText xmlName = doc.CreateTextNode(txtStudentName1.Text);
XmlElement studentnum = doc.CreateElement("studentnum");
XmlText xmlStudentnum = doc.CreateTextNode(txtStudentNum1.Text);
name.AppendChild(xmlName);
studentnum.AppendChild(xmlStudentnum);
Student.AppendChild(name);
Student.AppendChild(studentnum);
doc.DocumentElement.AppendChild(Student);
doc.Save(Server.MapPath("datastorage.xml"));
Но проблема заключается в том, что он добавляет нового ученика к корню, а не к участнику Project1/Students. Как это сделать?
Я видел решения с XmlTextWriter, но это больше не входит в 4,5 ...
'XmlTextWriter' is все еще в .NET 4.5, но вы должны использовать 'XmlWriter.Create()' вместо 'new XmlTextWriter()'. Кроме того, LINQ to XML намного проще в большинстве случаев. –