問題タブ [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.
xml - 別の子の値が一致する場合は、子の値を取得します
シェルから解析する必要がある XML ファイルがあります。次のようになります。
s の子ノードの順序thing
は任意であることに注意してください。私の実際のデータでは、それぞれの内部に他の子ノードがいくつかありますthing
。
現在、 の値foo
は一意です。childの値が、たとえば のbar
子ノードの値を取得する必要があります。XPath クエリを使用しようとしましたが、うまくいきませんでした。一致しません。または、より一般的なクエリでテストすると、ツリー全体が取得されます。thing
foo
abc
xmllint
私はただ得ることを望んでいましたtrue
。
私は何を間違っていますか?他の質問で言及されているフラグにアクセスできない--xpath
ので、それが答えであれば運が悪いです。
bash - xmllint xpath は空のセットでエラーを出力しません
一部のデータに対して xpath を実行するために、bash スクリプトで xmllint を使用しています。xpath は常にデータと一致するとは限りませんが、これは問題ありません。xmllint ドキュメントから:
XPath set is empty
xmllint が一致するものを見つけられない場合、出力を無効/非表示にする方法はありますか?
xml - XML を検証する 2 つの異なる方法を使用すると、異なる結果が得られるのはなぜですか?
XML ファイルを XSD ファイルで検証しようとしていますが、うまくいきません。理由がわかりません。
その例を使用して端末で実行できることがわかりました:
xmllint --noout --schema owl2-xml.xsd camera.owl
しかし、それは私が特に理解していないエラーを生成します。
しかし、バリデータxmlファイルを選択した場合(これhttp://mowl-power.cs.man.ac.uk:8080/validator/
:)
XML ファイルが検証されました。
理由がわかりません。これが機能していません... 選択している XML スキーマがバリデータ リンクと同じである必要がある場合。
XML スキーマはそこからのものです: http://www.w3.org/2009/09/owl2-xml.xsd
(owl2) そして、バリデーターも owl2 構造を使用します。だから...私は何が欠けていますか?
フクロウファイルの例
linux - grep xmllint の結果をパイプするにはどうすればよいですか?
xmllint を使用して一連の XML を検証しようとしています。
コマンドを使用します: xmllint --noout --schema MySchema.xsd dir/*.xml
これにより、各ファイルのリストと、それが検証されたか失敗したかが stdout に出力されます。このリストを削除して、検証に失敗したファイルのみを表示したいと考えています。
結果をフィルタリングするために stdout でパイプ grep を実行できることに慣れています。たとえば、ls | を実行すると、grep "config" は、名前に config が含まれるファイルのみを一覧表示します。
しかし、何らかの理由で、上記のコマンドの後に | を実行します。grep "失敗" または | grep -v "validates" は、コンソールの stdout にスローされる (大量の) テキスト行数の削減にはまったく効果がありません。完全なリストは関係なく表示されます
xmllint からの出力がパイプの有効な入力ではないかのようです。
xml - ターゲット名前空間は XSD で無視されます
ベンダー提供の XML スキーマがいくつかあります。どうぞ:
OCISchemaBASE.xsd
OCISchemaLogin.xsd
OCISchemaDataTypes.xsd
これらのスキーマに従って作成した XML ドキュメントを次に示します。
xmllint を使用してスキーマに対してこのドキュメントを検証しようとすると、次の検証エラーが発生します。
OCISchemaBASE.xsdでターゲット名前空間が宣言されているにもかかわらずBroadsoftDocument
、要素が名前空間にないのはなぜですか?C
同じ質問はsessionId
、OCIMessage 型の要素に関するものです。
xml - XML ノード リストの反復/ループ
XML ファイルをロードし、その中のノードのリストをループ処理して、各ノードの属性をスクリプトのパラメーターとして使用し、それぞれのシェル スクリプトを実行する必要があります。何か案は?どんな助けでも大歓迎です。
XML ファイルの例: