XDocument doc = new XDocument(new XElement("root",
new XElement("info",
new XElement("version", "1.0"),
new XElement("creationdate", "15.09.2010")
),
new XElement("contacts",
new XElement("contact-1",
new XElement("name", "AAA"),
new XElement("age", "21")),
new XElement("contact-2",
new XElement("name", "BBB"),
new XElement("age", "22")
))));
Удаление элемента из XML
Код:
т.е. в итоге после выполнения этого кода мы имеем xml файл:
Код:
<?xml version="1.0" encoding="utf-8"?>
<root>
<info>
<version>1.0</version>
<creationdate>15.09.2010</creationdate>
</info>
<contacts>
<contact-1>
<name>AAA</name>
<age>21</age>
</contact-1>
<contact-2>
<name>BBB</name>
<age>22</age>
</contact-2>
</contacts>
</root>
<root>
<info>
<version>1.0</version>
<creationdate>15.09.2010</creationdate>
</info>
<contacts>
<contact-1>
<name>AAA</name>
<age>21</age>
</contact-1>
<contact-2>
<name>BBB</name>
<age>22</age>
</contact-2>
</contacts>
</root>
Вопрос: как удалить элемент contact-2 и все его дочерние элементы (если учесть что элемент с таким именем единственный в документе, т.е. смысла как я понимаю нет с помощью запросов выборку делать)?
Причём не обязательно чтобы удаляемый элемент был последним, т.е. нужно чтобы метод мог удалить элемент и из середины.
Можно попробовать
Код:
xDoc.Root.Element("contacts").Element("contact-2").Remove();