問題タブ [xml-simple]
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 :: Simpleのタグは元のタグ名で?
XML::Simpleを使用してXMLファイルを編集しています。その後、更新されたデータが新しいXMLファイルに送信されます。ただし、この手順では<opt></opt>
、追加するタグが生成され、元の親タグは失われます。<opt>
元のタグ名に置き換えたい。それ、どうやったら出来るの?
perl - マルチレコードXMLファイルuesXML::SimpleをPerlで解析する方法
私のdata.xml
私のtest.pl
出力:
コメント:グーグルで記事を見つけました(単一のxmlレコードを処理します)。 http://www.go4expert.com/forums/showthread.php?t=812 記事コードでテストしましたが、ラップトップで非常にうまく機能します。
次に、上記の練習コードを作成して、複数のレコードにアクセスしようとしました。しかし失敗しました。どうすれば修正できますか?ありがとうございました。
xml - XML::Simpleを使用したPerlオブジェクトからXMLへ
XML :: Simple CPANモジュールを使用して、データベースからの出力を単純なXML構造に変換しようとしています。問題は、XML :: Simpleにどのオプションを渡そうとしても、返される出力が私が望んでいたものではないことです。
出力しようとしているデータベーステーブルは、次の定義を持つ一連のアイテムです。
現在使用しているPerlコードは次のとおりです。
これにより、次のXMLが出力されます。
代わりに、次のように出力したいと思います。
私が見落としている小さなことがいくつかあると確信しているので、現在の実装を変更して目的のXML出力を生成する方法を教えてください。前もって感謝します!
ruby - 構文解析João xml-simpleを使用
rakeタスク内でxml-simplegemを使用して、dbダンプの内容を解析しています。問題は、データベースのxmlファイルに、xml-simpleがクラッシュする原因となるタイトルのような文字が含まれていることです。これに対する回避策はありますか?
xml - 配列を使用するとき、XML::Simple は順序を維持しますか?
XML::Simple を使用して XML ファイルを解析し、それを使用して非常に特殊な形式で出力ファイルを書きたいと考えています。したがって、出力順序は重要です。
私が理解しているように、XML が perl hashref に変換されると、順序が失われます (perl ハッシュには順序がないため)。しかし、配列が XML::Simple で使用される場合はどうでしょう。
例えば:
次のようなデータ構造が得られます。
3 つの 'cd' 構造体が配列に挿入されるため、それらの順序は常に入力ファイルと同じになりますか?
xml - XML::Simple を使用しているときにマジック ナンバーを削除するにはどうすればよいですか?
このような演習を行いました。XML::Simple によって配列に折りたたまれた XML 要素の数を計算するにはどうすればよいので、要素の数をハードコードする必要はありませんか? このコードを使用して、より大きな xml ファイルを解析する予定です。手動で要素を数えたくありません。
いくつかのカウントを使用して、マジック ナンバーを置き換えることはできますperson.count
かhobbie.length
?
出力:
以下のような私のXmlソースファイル
perl - XML::単純なエンコーディングの問題
解析したいxmlファイルがあります:
これは、Firefox によって完全に解析されます。しかし、XML::Simple はいくつかのデータを破壊します。次のようなperlプログラムがあります。
そして得る:
それは私が期待したものではないようです。エンコードの問題があると思います。私は何か間違ったことをしていますか?
UPD: XMLin は (入力として) utf-8 でテキストを返したと思いました。追加したばかり
そしてそれは働いた
xml - XML :: Simple :: XMLoutからXMLを圧縮するにはどうすればよいですか?
私はXML::Simpleを使用して非常に大きなXMLファイルを解析および編集しており、速度が不可欠です(これまでのところ、XML :: Simpleを試したすべてのメソッドの中で最速でした)
すべての編集が完了したら、XMLout()を使用してXMLをドキュメントに印刷しますが、適切なインデントを付けて印刷します。これは、人間が読んだ場合は便利ですが、私の状況ではまったく役に立ちません。
空白のない出力ファイルは1.2Mbで、空白がある場合は15Mbです。
私は使用しています:
しかし、それは極端なCPUの占有であるだけでなく、実行するのに膨大な量のメモリを必要とするようです。
無駄な空白を一切使わずに、XMLオブジェクトを適切なXMLとして単純に出力する方法はありますか?
ありがとう
xml - XML::複雑なハッシュからの単純な出力要素の順序
によって返されるXML要素の順序の設定に関して、さまざまな場所ですでにいくつかの回答を見てきましたXMLout
。しかし、私はそれらの答え/例を使用して問題を解決することはできません。
いくつかのXMLデータを出力する必要があるスクリプトがあり、特定の要素を特定の順序で出力する必要があります。ハッシュはかなり複雑で、オブジェクトをオーバーライドsorted_keys
しても結果を得ることができませんでした。XML::Simple
まあ、私はしましたが、私が望んでいた方法ではありませんでした。
サンプルコードは以下にあり、問題の詳細はコードの下にあります。
したがって、このスクリプトの出力は次のようになります。
item_list
name
属性でソートすることにより、要素が出力され、出力順序はアルファベット順になります。出力順序はAAA、GGG、ZZZです。
ただし、必要なのは、要素で(数値的には、最低から最高に)ソートされている間に出力を取得することi
です。そのため、出力はZZZ、AAA、GGGの順になります。
私はハッシュの順序を制御できないので(Tie::...
モジュールを使用せずに)、そのようにすることはできません。を使用するNoSort => 1
と、出力は特に何もソートされないため、ランダムな出力が得られます。
sorted_keys
したがって、サブルーチンをオーバーライドすることで、これを希望どおりに分類する方法が必要であると確信しています。sorted_keys
ただし、のインスタンスごとにが呼び出されるため、希望する結果を得ることができませんでしitem_list
た。sorted_keys
要素に対してが呼び出されると、ハッシュ参照全体にアクセスできるようになりますが、モジュールopt
に依存せずに出力の順序を保証する手段はありません。Tie::
Tie::IxHash
これで、モジュールを使用し、サブハッシュをオーバーライドsorted_keys
して(再)作成し、item_list
元のハッシュから新しい(順序付けられた)ハッシュに値を再挿入し、元のハッシュのサブハッシュを削除することで、これを希望どおりに機能させることができました。新しい順序付けされたハッシュで置き換えます。
このようなもの:
Tie::IxHash
これは機能しますが(これまでのところ確実に機能しているようです)、モジュールを使用せずに、ハッシュの再作成/並べ替えをすべて行わずに、内部から特定のデータを何らかの方法で並べ替え/返すことによってのみ、これを実現する方法が必要だと思いますsorted_keys
。
私はそれを理解することができず、どのように機能するのか本当にわかりませんsorted_keys
(特に入力データの異なる/複雑なセットで異なる結果が得られる場合;)、しかしこれを知っている誰かがそこにいることを願っています。
XML/Simple.pm
つまり、サブルーチンの最後の戻り行で自分自身を変更してソート順を変更しようとしましたsorted_keys
が、それでも英数字でソートされた出力が得られていました。私はそれをどのように変更するのか理解できないので、それがソートされないのではないかと心配していname
ますi
。
xml - XML::単純に emdash タグを無視しますか?
XML Simple を使用して XML ファイルを解析していますが、問題のある部分は次のようになります。
何らかの理由で XML::Simple が完全に無視する<text>SECTION A <emdash/> HUMAN NECESSITIES</text>
のは、emdash タグが<text>AGRICULTURE</text>
問題なく解析されるためだと思います。また、次の方法でパーサーを設定しようとしました。
まだ行きません。何か案が?