問題タブ [xmllint]

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 に答える
2929 参照

xml - xmllint が xpath で正しく動作しない

これが私が持っているものです。明らかに本来の機能を果たさず、クラッシュさえしました。何か問題がありますか、または BASH で XML を解析するのに役立つ他のツールはありますか?

0 投票する
6 に答える
75176 参照

xml - XML からノード値を抽出するためのネイティブ シェル コマンド セット

pom.xml からノードの値を抽出しようとしています:

シェル コマンドを使用して、XML から artifactId とバージョンを抽出する必要があります。次の要件/観察事項があります。

  1. シェル スクリプトは、作業で使用するビルド アセンブリ ファイル内で実行されるため、スクリプトは小さいほど優れています。
  2. 複数のシステム (通常は RHEL5) で使用されるため、デフォルトのイメージでネイティブに実行できるものを探しています。
  3. のようなタグは、pom の他の場所で発生する可能性があるため、これらのタグを単純に awk することはできません。

私は次のことを試しました:

  1. xpath私の Mac では動作しますが、RHEL マシンではデフォルトで使用できません。同様にxmllint --xpath、これは の新しいバージョンでのみ利用できると思いますがxmllint、これは私が持っておらず、強制することもできません。
  2. xmllint --pattern有望に思えましたが、xmllint --pattern '//project/parent/version' pom.xml(XML全体を出力する)またはxmllint --stream --pattern '//project/parent/version' pom.xml(出力なし)から出力を取得できないようです。

これはSOに関するよくある質問だと思いますが、上記の点が、これらの回答を使用できない理由です。あなたの助けのためのTIA。

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

text - xpath 式の解析後に xmllint コンテンツが切り捨てられる

次の xmllint コマンドを実行していますが、コンテンツが切り捨てられます。

echo xpath '//create_context[@date="2013-01-31"]/instrument/file/text()' | xmllint --shell file.xml

/ > オブジェクトはノード セットです: セットには 3 つのノードが含まれます:

1 テキスト

2 テキスト

3 テキスト

私の xmllint は --xpath をパラメーターとして取りません

ご協力いただきありがとうございます。誰かがすでに回答を提供している場合は申し訳ありません。

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

bash - xmllint と xpath を使用して複数行を出力する方法

XMLを解析するための簡単なbashスクリプトを書いています。私はsedとawkを使用していましたが、xmllintの方が適していると思います。

残念ながら、私は xpath にまったく慣れていないので、本当に戦っています。

次のxmlを取得しようとしています:

.....

それを処理して変数として '3' を xpath スクリプトに渡し、次のように出力します。

つまり、各ノードのコンテンツの複雑な組み合わせで、バージョンの値がたとえば 3 より大きい場合です。

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

xml - xml: 子要素をインデントするが、新しい行に属性を保持する方法

私は以下のようなxmlを持っています。

残りの xml ファイルはそのままにして、子要素をインデントする必要があります (つまり、dtd セクションとエンティティは削除せず、属性は新しい行に配置する必要があります)。xml は最終的に次のようになります。

と を使ってみxmllintましtidyた。xmllint子要素をインデントしていますが、属性を新しい行に保持していません。tidy一方、属性を新しい行に保持するオプションがありますが、子要素をインデントすることはできません。perl正規表現も使用してみました。これはおそらく XSLT で行うことができますが、私はそれに精通していません。