私の問題は次のとおりです。選択した 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>...
親ノードが id="description" を持つパラメーターの型であるすべてのノード (値の型) を削除したいと思いますが、値の子としての値メモや id="value" を持つパラメーターではありません//value[parent::parameter[@id='description'] and @lang='en']
。問題は: 私は言語コードを持っています: 例えば "de" で、lang="de" の値が存在する場合はすべての兄弟値ノードを削除し、lang= の場合は lang-attribute のない値を除くすべての兄弟ノードを削除したいと思います。 「de」は存在しません(フォールバックとして)望ましくないすべての値ノードを再帰的に置き換えるC#コードを書くのを手伝ってくれることを願っています。