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

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

perl - xml小枝に属性を追加する方法

私は初めてxml::Twigです。vmerge特定のカウントでタグカウントから属性と値を追加する方法はvmerge? どうすればこれを開始できますか? このプロセスで使用されるロジックは何ですか?

これまでの私のスクリプト:

入力 XML:

出力を次のようにする必要があります。

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

xml - XML::Twig で解析されたものを正確に出力したい

' を含む XML があります。XML::Twig を使用して解析し、再度出力すると、すべての ' ' として出力されます。また、XML::Twig は、属性をアルファベット順に並べ替えるようです。XML の観点からは、これらは同等ですが、XML に小さな変更を加え、diff を使用して、意図した変更のみが行われたことを確認したいと考えています。XML::Twig を取得して、明示的に変更したもの以外は何も変更しないようにする方法はありますか?

ここに私のXMLがあります:

そしてパール:

そして、これが印刷されるものです:

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

xml - Perl を使用して TWIG で CDATA コンテンツを抽出する方法

私は Perl を初めて使用するので、使用経験がほとんどなく、TWIG と Perl を使用して、次の xml ファイルから CDATA 内のコンテンツを抽出する必要があります。

この質問がどこかで繰り返されていたら申し訳ありません。前もって感謝します。

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

xml - 要素を削除した後、親要素が閉じない: XML Twig

特定の値を持つ属性を持つ要素を見つけて、ドキュメントから削除しようとしています。

この例では、値が「....\TS\ETestScenario.inc」である「RelativePath」という属性を持つ File 要素を探しています。

</Files>問題:スクリプトを実行した後、最後の要素 -がありません。また、'VisualStudioProject' 終了タグが 2 回出力されます。ここで何をしているのかわかりません。

不適切な XML 出力:

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

xml - Perl で XML::Twig を使用して xml ファイルの特定のサブノードを選択するにはどうすればよいですか?

これはばかげた質問に違いありませんが、私は少し立ち往生しています:

私はあなたがここでサンプルを見ることができるXMLファイルを持っています:

巨大なファイルなので、XML::Twig を使用して解析し、関心のある部分を取得しています。特に、seg のノード コンテンツと tu のノード属性に関心があります。

これまでに得たコードは次のとおりです。

Perl (または XML::Twig と言うべきか) は、私が持っていることを教えてくれます: 間違ったナビゲーション条件 './tuv/seg' ()

seg ノードのテキストにアクセスする方法を知っている人はいますか? まだ私にうんざりしていなければ、tu のノードの changedate 属性にアクセスする方法を教えてください。

どうもありがとうございました。

ダセン

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

xml - perlでXML::Twigを使用して、巨大なxmlファイルから重複を削除するが、最新の「changedate」属性を持つものを保持する方法は?

次の巨大な XML ファイルがあります。

ハッシュを使用して「各「セグメント」コンテンツをその変更日付に関連付けます。これにより、ハンドラーを使用して「セグメント」が既に存在するかどうかを確認し、見つかったバージョンが古いかどうかを確認し、古い場合は削除します。このアプローチの問題は、見つかったバージョンが新しい場合、xml ファイルで解析された古いバージョンを削除する方法がないことです。これまでに取得したコードは次のとおりです。

}

巨大な (700 MB) XML ファイル内の「changedate」の最新の値を持つ重複を (要約すると) 削除する方法について、事前に光を当てていただきありがとうございます。

ありがとう!

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

xml - XML::Twig は、Perl で xml 要素を選択的に出力しているときにタグが必要ないときにタグを付けてくれます

私は理解できない XML::Twig から最も奇妙な動作をしています。

次のような XML があります (ただし、はるかに大きく、約 500 MB です)。

ドキュメントを 2 回通過する次のコード: 最初に、各「seg」を最新の「changedate」属性に関連付けるハッシュを作成し、次にドキュメントをスクロールして、最新の「tu」のみを出力します。 (ハッシュされたものよりも小さい「変更日」を持たないでください)。コードは次のとおりです。

上記の例で上記のコードを実行すると、次の結果が得られます。

ご覧のとおり、削除された「tu」(「body」と「tmx」) の後に「tu」タグの囲み括弧と、xml ドキュメント全体の開き括弧を取得します。

この問題を回避する方法を知っている人はいますか?

どんなに小さなことでも構いませんので、どうぞよろしくお願いいたします。

編集:オプションで、やってみました

しかし、私はこれを得る:

これには、「ヘッダー」タグだけでなく、真ん中に「本文」タグがたくさんあります。そこで、「最新のものだけを印刷する」という戦略を試すことにしました。

もう一度ありがとう

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

perl - XML::Twig : アンダースコアで始まる <_tag> に twig_handler を指定する方法は?

ルート要素タグが<__>(2 つのアンダースコア) である XML ファイルがあります。ただし、そのタグ名が twig_handlers リスト XML::Twig->new で使用されると、次のエラー メッセージが表示されて終了します。

実際、アンダースコアで始まるすべてのタグは、Twig の特別なタグ_all_とを除いて、このエラーを生成します_default_。これらのいずれかを使用して、最後のものを除くすべてのハンドラー コールバックを破棄してファイルを処理できます。

失敗する呼び出しは次のとおりです。

ここで使用できる XML::Twig Xpath 式があると思いますが、CPAN のドキュメントでは構文についてかなりあいまいです。また、要素にたどり着くために何をしなければならないのだろうかと思っています<_all_>:)

誰かに提案があれば、それは大歓迎です。

この問題は小枝が作成されたときにのみ発生します。これは、(コールバック式を使用して_all_)処理が開始<__>されると、入力内の任意のレベルの要素が正常に処理されるためです。

誰かが問題を解決したい場合は、解決策を見つけるために使用していたプログラムを次に示します。テストする式に $xpath を設定します。