моя проблема в следующем: Как я могу удалить выбранные дочерние узлы из XmlNode рекурсивно? Мой XML-файл выглядит следующим образом ...XmlNode.RemoveChild() recursive
..<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 = "значение" В XSLT я бы сказал, например: //value[parent::parameter[@id='description'] and @lang='en']
Проблема в следующем: у меня есть код языка: eg «de», и теперь я хотел бы удалить все узлы значения sibling, если существует значение с lang = «de» и удалить все узлы-братья, исключая значение без какого-либо lang-attribute, если lang = «de» не существует (в качестве резервной копии) I надеюсь, вы можете помочь мне написать код C#, чтобы заменить рекурсивно все нежелательные узлы значений.