mon problème est le suivant: Comment puis-je supprimer ChildNodes sélectionnés de XmlNode récursivement? Mon fichier XML ressemble ...XmlNode.RemoveChild() récursive
..<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>...
Je voudrais supprimer tous les noeuds (type de valeur) où le parentNode est le type de paramètre avec id = « description », mais pas de valeur notes que les enfants des valeurs ou paramètre avec id = "valeur" En XSLT je dirais par exemple: //value[parent::parameter[@id='description'] and @lang='en']
Le problème est: J'ai le code de la langue: par exemple "de" et maintenant je voudrais supprimer tous les nœuds de valeur sibling une valeur avec lang = "de" existe et supprimer tous les nœuds frères excluant la valeur sans aucun attribut-lang si lang = "de" n'existe pas (comme repli) J'espère que vous pouvez m'aider à écrire un code C# pour remplacer récursivement tous les nœuds de valeur non désirés.