Я новичок в использовании Linq to Xml
, поэтому мою проблему, вероятно, очень легко решить.
Первый вопрос:
Я хочу удалить все узлы, кроме тех, чьи имена у меня уже есть в массиве, используя Linq.
Второй вопрос:
Как проверить, что это поле узла имеет три дочерних узла (имя, тип, значение) и удалить те поля, чьи требования не соответствуют?
Я уже сделал, удалив пустые узлы, но для этой проблемы у меня нет идей.
Заранее спасибо!
XDocument xml = XDocument.Load("test.xml");
xml.Descendants().Where(e => string.IsNullOrEmpty(e.Value)).Remove();
ArrayList permitted = new ArrayList { "object", "obj_name", "name", "field", "value", "type" };
HERE SOME XML OF THIS.
<object>
<obj_name>wolf</obj_name>
<field>
<name>color</name>
<type>string</type>
<value>grey</value>
</field>
<lolfield>lol"</lolfield> //for example this should be removed//
</object>