問題タブ [xml-libxml]
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::LibXML で XML 名前空間を削除する
XML ドキュメントを HTML に変換しています。必要なことの 1 つは、HTML で合法的に宣言できない名前空間の削除です (ルート タグ内の XHTML 名前空間でない限り)。XML::LibXML と LibXML2 でこれを行うのがいかに難しいかについての 5 ~ 10 年前の投稿を見つけましたが、最近はそうではありません。次に例を示します。
このコードでは、うまくいかないことをいくつか試しました。最初に、bar:foo
要素の名前を接頭辞なしに設定しようとしましたfoo
(ドキュメントには、そのメソッドは名前空間を認識していると書かれていますが、明らかに認識していません)。次に、要素の名前空間を null に設定しようとしましたが、それも機能しませんでした。最後に、名前空間を削除する方法についてドキュメントを調べました。そのような幸運はありません。最終的な出力文字列には、削除したいものがすべて含まれています (名前空間の宣言と接頭辞)。
名前空間を削除して、要素と属性を null 名前空間に設定する方法はありますか?
xml - Perl - XML::LibXML - 特定の属性を持つ要素を取得する
私は誰かが助けてくれることを望んでいる問題を抱えています...
次の例の xml 構造があります。
動作するはずだと思ったコード:
期待される出力:
ダミアン・コンウェイ トム・クリスチャンセン
しかし、何も返されません。
これは、値が 145 の属性「width」を持つ「image」要素も含む「book」要素内の「author」要素のテキスト コンテンツと一致すると考えました。
私はここで非常に明白な何かを見落としていると確信していますが、私が間違っていることを解決することはできません.
あなたの助けは大歓迎です
xml - NCR の代わりに実際の文字を印刷する
XML ドキュメントに含まれるすべての Unicode を醜い NCR に変換せずに、XML ドキュメントを印刷したいと考えています。サンプルは次のとおりです。
これにより、次のように出力されます。
非常に見苦しく、読みにくい (ブラウザなどで表示しない限り)。
ドキュメントに実際の文字を印刷し、utf-8 (またはその他のエンコーディング) 宣言を含めるにはどうすればよいですか?
perl - XML::LibXML を使用して XML ファイルの値を実際に変更する方法
XML ファイル ( information.xml
) があります。この XML ファイルから要素と属性の値を抽出し、それらの要素と属性の値を別の XML ファイル ( build.xml
) に挿入する必要があります。build.xml
ファイルから適切な要素の値とタグを入力して、ファイルを変更する必要がありinformation.xml
ます。
そのためには、XML::LibXML を使用する必要があります。から要素と属性の値を抽出できますinformation.xml
。しかし、私はそれらの値を開いて入力することができませんbuild.xml
例 :
information.xml
build.xml
ここで、私のタスクは、所有者の値を から抽出しinformation.xml
、開いてbuild.xml
、所有者タグを検索し、build.xml
そこに抽出された値を配置することです。
Perl スクリプトは次のようになります。
build.xml
次のようになります:
perl - XML::LibXML を使用して xml ノードを反復処理する perl スクリプト
一部のノードを反復処理してxmlファイルの値を取得するperlスクリプトを考え出そうとしています。
私のXMLファイルは以下のようになり、spec.xmlに保存されます
以下のスクリプトを実行すると、出力もエラーも表示されず、問題を修正する場所の手がかりが得られません...
私は perl のエキスパートではありません。
私の期待される出力は
perl - XML removeChild ですが、出力に空白行があります
単純な removeChild テストでは、xml 行は削除されますが、空の空白行が維持されます。なぜですか? ところで、ソース xml ファイルにはインデントがありますが、インデントを削除しても同じ結果が得られます。では、まだ空白が残っている場合に removeChild 行を削除できるという点は何ですか?
ファイルに出力する前に、結果の xml 行を再フォーマットする方法はありますか?
xml - XPath 式の Perl 変数
XML::LibXML モジュールの findnodes() 関数を使用して、XPath 式内で Perl 変数を使用するにはどうすればよいですか? これは私が得たものです:
しかし、うまくいかないようです。ありがとう。