Добавление и удаление узла в XML - C#
Формулировка задачи:
<?xml version="1.0" encoding="utf-8"?> <PassSaver> <profile name="1" pass="2"> <Service name="123"></Service> <Service name="456"></Service> </profile> <profile name="5" pass="6"> <Service name="123"></Service> <Service name="456"></Service> </profile> </PassSaver>
<profile name="1" pass="2">
<profile name="1" pass="2"> <Service name="123"> <login>NAME</login> </Service> <Service name="456"></Service> </profile>
XDocument doc = XDocument.Load("1.xml"); IEnumerable<XElement> profiles = doc.Descendants("profile").Where((el => (string)el.Attribute("name") == "1")); foreach (XElement el in profiles) { IEnumerable<XElement> elements1 = doc.Descendants("Service").Where((el2 => ((string)el2.Attribute("name") == "123"))); foreach (XElement el2 in elements1) { XElement profile = new XElement("login","NAME"); el2.Add(profile); } }
<?xml version="1.0" encoding="utf-8"?> <PassSaver> <profile name="1" pass="2"> <Service name="123"> <login>NAME</login> </Service> <Service name="456"></Service> </profile> <profile name="5" pass="6"> <Service name="123"> <login>NAME</login> </Service> <Service name="456"></Service> </profile> </PassSaver>
Решение задачи: «Добавление и удаление узла в XML»
textual
Листинг программы
var entries = from service in doc.Root.XPathSelectElements("/profile/Service") where service.HasElements from login in service.Elements("login") select new { Name = (string)service.Attribute("name"), Login = login.Value }; dataGrid.DataSource = entries.ToArray();
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д