問題タブ [xmlstarlet]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
xmlstarlet - xmlstarlet を使用して複数の値を抽出する
すべての要素から「失敗」を抽出して合計するにはどうすればよいですか?
xsl-fo - xmlstarlet で xsl ファイルを更新する
わたしは
""xsl:stylesheet/xsl:template/filter/filter-class" の値を値 "Hello" に変更するような xmlstarlet を使用して、以下のコマンドを実行しますが、エラーが発生します:-
どこが間違っているのですか?
xml - xmlstarlet - タグ値の代替ペアを注文する
このXMLで
xmlstarlet からの次の出力が必要です。
しかし、このコマンドでは:
私は得る:
suppress-warnings - XMLStarletで空の選択を無視するには?
XMLStarletで多くの XML 編集操作を実行するスクリプトがあります。たとえば、foo
ノードが存在する場合はすべて削除します。
(ただし、私のスクリプトでは、要素の名前は ではありませんfoo
)。
ノードが存在しないfoo
場合、次のメッセージが出力されます。
foo
ただし、入力ドキュメントにノードが存在しなくても問題はありません。したがって、この特定の操作では、この特定の警告を回避したいのですが、そのような警告を一般的に無効にしたくありません。
どうすればこれを達成できますか?
xpath - ファイルに要素を 1 つだけ追加する xmlstarlet
処理する xml ファイルが何百もあります。特定の目的のタグがあるものもあれば、ないものもあります。すべてのファイルにタグを追加すると、いくつかのファイルが 2 つのタグを取得します (驚くことではありません!)。不器用なgrepを使用せずにxmlstarletで作業するファイルを選択するにはどうすればよいですか? 例えば:
私はこれをいくつかのファイルに持っています:...
私はこれが欲しいです(しかし、いくつかのファイルはすでにそれを持っています):...
たとえば、これは機能しますが、grep を使用せずに xmlstarlet で完全に実行できればよいのにと思います。
私は、次のような XPATH の異国情緒に巻き込まれました。
...しかし、それは私が望んでいたことをしていません...
xml - XML データに対して「Grep -f」スタイルのクエリを実行するためのアプローチは?
このディスカッションでは、いくつかの優れたコマンドライン XML 操作ツールを見ました。また、コンパイル済みプログラムの代わりにスクリプトを使用して、XML ファイルからデータを抽出する新しい方法を模索しています。現在xmlstarletを試していますが、このツールの使用に制限されていません。
何万もの要素を含む XML データ ファイルがあります。検索用語のリストに基づいてこれらの要素のサブセットを抽出し、それらの要素を下流のスクリプトや変換にパイプするか、別の方法でルーティングしたいと考えています。検索用語は単純な文字列です。正規表現は必要ありません。通常のテキスト ファイルに対して grep を使用してこれを行っていた場合、おそらく次のような単純なことを行うでしょう。
これを達成する方法について xmlstarlet などのツールのドキュメントを調べてきましたが、思いつく最も近いものは、一時ファイルを使用するこの醜い試みです。(注、私はWindowsを使用しています):
言うまでもなく、これは本当に醜いです。
-c
XPath クエリの膨大なリストを一度に xmlstarletに渡すように for ループを変更することも 1 つの可能性だと思いますが、これも不必要に面倒で、まだ tempOutput.xml ファイルの使用に行き詰まると思います。
これを行うよりエレガントな方法はありますか?または、一時ファイルは本当に私の最善のアプローチですか?