Удаление элемента из XML по дочернему элементу ID - C#
Формулировка задачи:
Здравствуйте,прошу помочь с проблемой.
Как сделать удаление тега и его дочерних тегов , через дочерний тег ID?
Например:
Как через C# удалить тег 2 и его дочерние теги , который имеет тег ID со значением 2?
<1> <2> <3></3> <3></3> <3></3> <ID>1</ID> </2> <2> <3></3> <3></3> <3></3> <ID>2</ID> </2> </1>
Решение задачи: «Удаление элемента из XML по дочернему элементу ID»
textual
Листинг программы
[XmlRoot("E1")] public class Root { [XmlElement("E2")] public List<Child> Childs { get; set; } [XmlIgnore] public string File { get; set; } public static Root Load(string path) { XmlSerializer deser = new XmlSerializer(typeof(Root)); using (var fs = new FileStream(path, FileMode.Open)) { Root cat = (Root)deser.Deserialize(fs); cat.File = path; return cat; } } public static void Save(Root db) { XmlSerializer ser = new XmlSerializer(typeof(Root)); XmlSerializerNamespaces namespaces = new XmlSerializerNamespaces(); namespaces.Add(string.Empty, string.Empty); using (var fs = new FileStream(db.File, FileMode.Create)) ser.Serialize(fs, db, namespaces); } } public class Child { [XmlElement("E3")] public string[] Arr { get; set; } [XmlElement("ID")] public string Id { get; set; } } Root r = new Root(); r.Childs = new List<Child>() { new Child() { Id = "1", Arr = new string[3] { "", "", "" } }, new Child() { Id = "2", Arr = new string[3] { "", "", "" } }, }; r.File = "test.xml"; Root.Save(r); r.Childs.RemoveAll(c => c.Id == "2"); r.File = "test2.xml"; Root.Save(r);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д