問題タブ [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.

0 投票する
2 に答える
1453 参照

xmlstarlet - xmlstarlet を使用して複数の値を抽出する

すべての要素から「失敗」を抽出して合計するにはどうすればよいですか?

0 投票する
1 に答える
274 参照

xsl-fo - xmlstarlet で xsl ファイルを更新する

わたしは

""xsl:stylesheet/xsl:template/filter/filter-class" の値を値 "Hello" に変更するような xmlstarlet を使用して、以下のコマンドを実行しますが、エラーが発生します:-

どこが間違っているのですか?

0 投票する
1 に答える
156 参照

xml - xmlstarlet - タグ値の代替ペアを注文する

このXMLで

xmlstarlet からの次の出力が必要です。

しかし、このコマンドでは:

私は得る:

0 投票する
1 に答える
1977 参照

suppress-warnings - XMLStarletで空の選択を無視するには?

XMLStarletで多くの XML 編集操作を実行するスクリプトがあります。たとえば、fooノードが存在する場合はすべて削除します。

(ただし、私のスクリプトでは、要素の名前は ではありませんfoo)。

ノードが存在しないfoo場合、次のメッセージが出力されます。

fooただし、入力ドキュメントにノードが存在しなくても問題はありません。したがって、この特定の操作では、この特定の警告を回避したいのですが、そのような警告を一般的に無効にしたくありません。

どうすればこれを達成できますか?

0 投票する
1 に答える
460 参照

xpath - ファイルに要素を 1 つだけ追加する xmlstarlet

処理する xml ファイルが何百もあります。特定の目的のタグがあるものもあれば、ないものもあります。すべてのファイルにタグを追加すると、いくつかのファイルが 2 つのタグを取得します (驚くことではありません!)。不器用なgrepを使用せずにxmlstarletで作業するファイルを選択するにはどうすればよいですか? 例えば:

私はこれをいくつかのファイルに持っています:...

私はこれが欲しいです(しかし、いくつかのファイルはすでにそれを持っています):...

たとえば、これは機能しますが、grep を使用せずに xmlstarlet で完全に実行できればよいのにと思います。

私は、次のような XPATH の異国情緒に巻き込まれました。

...しかし、それは私が望んでいたことをしていません...

0 投票する
3 に答える
602 参照

xml - XML データに対して「Grep -f」スタイルのクエリを実行するためのアプローチは?

このディスカッションでは、いくつかの優れたコマンドライン XML 操作ツールを見ました。また、コンパイル済みプログラムの代わりにスクリプトを使用して、XML ファイルからデータを抽出する新しい方法を模索しています。現在xmlstarletを試していますが、このツールの使用に制限されていません。

何万もの要素を含む XML データ ファイルがあります。検索用語のリストに基づいてこれらの要素のサブセットを抽出し、それらの要素を下流のスクリプトや変換にパイプするか、別の方法でルーティングしたいと考えています。検索用語は単純な文字列です。正規表現は必要ありません。通常のテキスト ファイルに対して grep を使用してこれを行っていた場合、おそらく次のような単純なことを行うでしょう。

これを達成する方法について xmlstarlet などのツールのドキュメントを調べてきましたが、思いつく最も近いものは、一時ファイルを使用するこの醜い試みです。(注、私はWindowsを使用しています):

言うまでもなく、これは本当に醜いです。

-cXPath クエリの膨大なリストを一度に xmlstarletに渡すように for ループを変更することも 1 つの可能性だと思いますが、これも不必要に面倒で、まだ tempOutput.xml ファイルの使用に行き詰まると思います。

これを行うよりエレガントな方法はありますか?または、一時ファイルは本当に私の最善のアプローチですか?