問題タブ [xml-twig]
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 - PerlのXML::Twigを使用して子要素をXMLに追加するにはどうすればよいですか?
私は次のXMLファイルを持っています:
<CIFS_SERVICE NETBIOSNAME="serv2"/>
ここで、に子を追加し<SERVER HOSTNAME="serv2">
ます。XML :: Twigを使用してこれを行うにはどうすればよいですか?
xml - Perl の XML::Twig を使用して子要素に属性を追加するにはどうすればよいですか?
次のような XML 文字列があります。
私が望む最終的な出力は次のとおりです。
私の小枝$t
は にあり<DATA>
ます。次に、2 番目の に属性を追加します<CHILD_DATA />
。属性はATVAL="value2"
. 私は次のことを試しました:
これはうまくいきませんでした。このコードの何が問題になっていますか? これを行う別の方法はありますか?
xml - XML::Twig を使用してコンテンツを取得するにはどうすればよいですか?
私の目的はstart_tag_handler
(以下を参照) /タグが見つかったときにapps
/title
コンテンツを取得することです (以下のサンプル XML を参照)。apps
title
/タグ
が見つかったときに/コンテンツをend_tag_handler
取得します。apps
logs
apps
logs
しかし代わりに、このコードは null を返して終了します。
これは解析用の Perl コードです ( XML::Twigを使用)###:
これは doc.xml### です:
これはコンソールの出力です###:
xml - XML :: Twigが私のend_tag_handlerを呼び出さないのはなぜですか?
タグごとにサブルーチンを呼び出そうとしましたが、end_tag_handlers
呼び出されません。
私の目的はこのシーケンスです:
---シーケンス---呼び出し
時。呼び出す
とき。呼び出す
とき。呼び出す
とき。呼び出す
とき。呼び出す
とき。呼び出す
とき。呼び出す
とき。→呼ばれなかった。<auto>
\&loading
<apps><title>
\&kicks
<apps><logs>
\&bye
<apps>
\&app
<apps><title>
\&kicks
<apps><logs>
\&bye
<apps>
\&app
</auto>
\&finish
temp.pl:
doc.xml:
出力:
ここでもっと欲しいです。
xml - XML::Twig を使用して URL から XML データを抽出するにはどうすればよいですか?
URL から取得される XML から <received>123</received> の 123 など、特定の文字列を取得したいと考えています。
コードを書きましたが、エラーメッセージが表示されたままになりました:
/usr/share/perl5/XML/Twig.pm 行 392 で参照に bless を試みます。
どうすれば解決できますか?
コード:
xml - Perl を使用した XML ファイルの変更
何らかの形式の XML ファイルがあります。データを任意の方法で変更したい。XML::Twigがそれを行う方法だと思います。
他のより良い代替手段があるかどうか知りたいですか?
xml - XML :: Twigが抽出された文字列を2回出力するのはなぜですか?
文字列が出力に2回表示されるのはなぜですか?
perl - XML :: Twigのハンドラーを使用して引数を渡し、値を返すにはどうすればよいですか?
私の質問は、XML:Twigのハンドラーにいくつかの引数を渡す方法と、ハンドラーから結果を返す方法です。
これが私のコードで、ハードコーディングされています。
<counter name = "music", report type = "month", stringSet index = 4>
。
引数を使用してこれを実装する$counter_name
方法$type
、、$id
?string_listの結果を返す方法は?ありがとう(申し訳ありませんが、ここにxmlファイルを投稿しませんでした。問題が発生したためです。<および>内のすべては無視されます)。
perl - XML:TWIG で、関心のある要素を見つけたら解析を停止する方法
xml の関心のある要素のみを解析したい (たとえば、以下を参照してください: 名前が math に等しいクラス要素)。この条件に一致する最初の要素が解析されたら停止します。(math という名前のクラスは 1 つしかないため、要素が見つかったら続行する必要はありません)。
ただし、次のように実装すると、コードは、関心のある要素が見つかった後もファイル全体を読み取り続けます (xml ファイルは非常に長いため、時間がかかります)。私の質問は、name = math の最初のクラス要素が解析されたら、それを停止する方法ですか?
my $twig = new XML::Twig(TwigRoots => {"class[\@name='math']" => \&class});
$twig->parsefile( shift @ARGV );
さらに、このクラスを解析後にxmlファイルから(メモリからだけでなく)削除して、次回他の名前のクラスを解析するときにクラス要素が解析されないようにしたいと考えています。それは可能ですか?