指定された別のタグ内に含まれる指定されたタグに対してのみ、1つのタグ値を別のタグ値に置き換えるxmlstarletコマンドは何ですか?
例: すべてのタグ発生を検索します。そのタグがタグ内(他のタグ内)にある場合にのみ、次のようb
に置き換える必要があります。d
<a> ... </a>
- 入力例:
<c>This is <b>an example</b>. <a>This is <b>a test;</b></a></c>
- 希望の出力:
<c>This is <b>an example</b>. <a>This is <d>a test;</d></a></c>
この記事は関連しています指定されたいくつかのタグの特定の文字列をXMLファイルのタグに含まれる他の文字列に置き換える方法ソリューションでxmlファイルの種類を指定する方法を見つけようとしています。
ベストアンサー1
$ cat file
<c>This is <b>an example</b>. <a>This is <b>a test;</b></a></c>
$ xmlstarlet ed --rename '//a/b' -v 'd' file
<?xml version="1.0"?>
<c>This is <b>an example</b>. <a>This is <d>a test;</d></a></c>
b
これにより、ノードのすぐ下に表示されるa
すべてのノードの名前が変更されます。これらのノードの新しい名前はですd
。 XPath式の前でこれを使用しているため、ドキュメント//
構造内のノードがどこにあるかは重要ではありませんa/b
。a