моя проблема заключается в следующем:
Как я могу рекурсивно удалить выбранные ChildNodes из XmlNode? Мой XML-файл выглядит так ...
..<element type="TextBox" id="xslFilePath">
<parameters>
<parameter id="description">
<value><![CDATA[Pfad zur XSL]]></value>
<value lang="en"><![CDATA[XSL-file's path]]></value>
</parameter>
<parameter id="tooltip">
<value><![CDATA[Pfad zur XSL]]></value>
<value lang="en"><![CDATA[XSL-file's path]]></value>
</parameter>
</parameters>
<values>
<value><![CDATA[/include/extensions/languageReferences/xsl/default.xsl]]></value>
</values>
</element>
<element type="DropDownList" id="imageOrientation">
<parameters>
<parameter id="description">
<value><![CDATA[Anordnung]]></value>
<value lang="en"><![CDATA[Orientation]]></value>
</parameter>
<parameter id="tooltip">
<value><![CDATA[Anordnung]]></value>
<value lang="en"><![CDATA[Orientation]]></value>
</parameter>
</parameters>
<items>
<item id="" selected="true">
<parameters>
<parameter id="value">
<value><![CDATA[vertical]]></value>
</parameter>
<parameter id="description">
<value><![CDATA[senkrecht]]></value>
<value lang="en"><![CDATA[vertical]]></value>
</parameter>
</parameters>
</item>
<item id="" selected="false">
<parameters>
<parameter id="value">
<value><![CDATA[horizontal]]></value>
</parameter>
<parameter id="description">
<value><![CDATA[waagerecht]]></value>
<value lang="en"><![CDATA[horizontal]]></value>
</parameter>
</parameters>
</item>
</items>
<values>
<value><![CDATA[horizontal]]></value>
</values>
</element>...
Я хотел бы удалить все узлы (тип значения), где parentNode - это тип параметра с id = "description", но не примечания к значениям как дочерние элементы значений или параметра с id = "value". В XSLT я бы сказал например: //value[parent::parameter[@id='description'] and @lang='en']
Проблема в том, что у меня есть код языка: например "de", и теперь я хотел бы удалить все узлы-значения одного уровня, если существует значение с lang = "de", и удалить все узлы-братья, исключая значение без атрибута lang, если lang = "de" не существует (как запасной вариант) надеюсь, вы можете помочь мне написать код на c # для рекурсивной замены всех нежелательных узлов-значений.