条件に基づいて子ノードを見つけてその値を置き換える必要があるコードを C# で書いています。
利用可能なもの:
- XML ノード
- placeholder = プレースホルダーを示す文字列
- replacementString = プレースホルダー文字列をこの文字列に置き換える必要があります
何を終わらせるべきなのですか :
text = placeholder の xml ノードで子を検索するか、任意の属性 havingvalue = placeholder string を含むノードを検索します
ノードの場合、内側のテキスト = replacementString を割り当てます。属性の場合、属性値を replacementString に置き換えます
これまでの進捗状況:
xpathを使用してテキストとしてプレースホルダーを持つノードを見つけることができます
descendant::*[text()='placeHolder']
しかし今、私はプレースホルダーが属性値としても存在できるルールの追加に固執しています。
制限:
SelectSingleNode で使用できる XPath で実行する必要があります。指定されたプレースホルダーを持つ唯一のノード/属性が存在できることが保証されています
別:
xmlnode の文字列を取得し、文字列の置換を実行し、DOM にロードしてドキュメント要素を取得できることはわかっています。しかし、文字列の置換のためだけにメモリ内に別の DOM を作成したくありません。
もうありがとう