#c# #xml
#c# #xml
Вопрос:
У меня есть этот код ниже. Я хочу добавить в него новый узел для хранения большего количества пользовательских записей, и если я захочу, я могу их удалить. Кто-нибудь может мне помочь?
string filename = "text.xml";
XmlDocument doc = new XmlDocument();
XmlElement root = doc.CreateElement("Login");
XmlElement id = doc.CreateElement("passWord");
root.SetAttribute("userName", nameTxb.Text);
id.SetAttribute("passWord", passwordTxb.Text);
XmlElement name = doc.CreateElement("UserName");
XmlElement passd = doc.CreateElement("PassWord");
name.InnerText = nameTxb.Text;
passd.InnerText = passwordTxb.Text;
root.AppendChild(name);
root.AppendChild(passd);
doc.AppendChild(root);
doc.Save(filename);
MessageBox.Show("Created SuccesFully!");
this.Close();
Ответ №1:
Ваш XML-документ хранится в переменной doc. Вы можете использовать doc.Выберите NODES(), чтобы выбрать указанные узлы с помощью XPATH. Вы также можете выполнять итерации по выбранным узлам и добавлять дочерние элементы, удалять дочерние элементы и т.д.
var nodes = doc.SelectNodes("xpath");
foreach(XmlNode node in nodes)
{
//
}
Комментарии:
1. тот же приведенный выше код, если я хочу добавить новую строку с новым значением, как это работает
Ответ №2:
Это приведет к удалению элемента. Вы можете продолжать использовать SelectSingleNode() для перемещения вниз по ветвям xml. элемент также может быть выбран таким образом — для этого примера просто считайте его произвольной отправной точкой.
someElement.RemoveChild(oDoc.SelectSingleNode("Parent").SelectSingleNode("Child"));
Насколько я знаю, вы также можете использовать тот же метод на уровне XML-документа.
Надеюсь, это поможет.