問題タブ [rexml]

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 投票する
2 に答える
694 参照

ruby - REXML が文字をエスケープしないようにするにはどうすればよいですか?

1 つのデータベースから大量のデータを取得し、XML 経由でアプリケーションに供給しています。

だから私はから始めます

次に、次の変数があります。

そして私はそうします

そして、timeline_meta を base_object_collection に追加します

私はこれを含むXMLになります:

私は取得しようとしています

不足しているものや、これを行うためのより良い方法を誰かが教えてくれますか?

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

ruby - ruby rexml:xmlファイルをきれいに解析します

私は次のXMLファイルを持っています:

すべてのURL要素のテキストを配列で取得したいと思います。

私は以下を実装しました:

...HTTPGETリクエストを実行します...

この行に関してresponse_xml.elements.each('//URL') { |u| u }、配列内のすべてのURL要素を取得するためのよりクリーンな方法をお勧めできますか?REXMLメソッドを介して行うより賢明な方法があるかもしれませんが、現時点ではそれを見ることができません。

その他のREXMLまたは一般的なコードの推奨事項は大歓迎です。

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

ruby - Ruby REXML で XML 子ノードをループする方法

次のような XML ドキュメントがあります。

次のように、許可をループして ID を取り出すことができることを知っています。

しかし、各許可証の検査をループして、最終的に次のような配列出力を取得できないようです。

私が試みるすべてのことは、許可ごとの検査だけでなく、すべての検査を受けるようです。

提案?

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

ruby-on-rails - REXML :: RuntimeError (エンティティの展開が大きくなりすぎました)

今日 Ruby-1.9.3-p392 にアップグレードした後、REXML は特定のサイズを超える XML 応答を取得しようとするとランタイム エラーをスローします。長さのしきい値に達すると、次のエラーが発生します。

これは最新の Ruby バージョンで変更されたことに気付きました: http://www.ruby-lang.org/en/news/2013/02/22/rexml-dos-2013-02-22/

簡単な修正として、サイズをREXML::Document.entity_expansion_text_limitより大きな数値に変更したところ、エラーはなくなりました。

リスクの少ない解決策はありますか?

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

ruby - REXML - 特定の要素の保存

これは私のXMLファイルです:

REXML を使用して、date_range が 12 か月の current_revenue 要素を抽出しています。私は次のコードを持っています:

これは 22369.7000 を出力しますが、数値だけを抽出して変数に代入することはできません。どうすればそれを行うことができますか?

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

ruby - REXML とエンコーディング

誰かこの結果を説明してくれませんか?

出力:

REXML はドキュメントのエンコーディングを気にせず、各アイテムのエンコーディングを自動検出し始めるようです...encode('UTF-8')元のエンコーディングが UTF-8 であるにもかかわらず、REXML から抽出した各文字列に運命づけられているのでしょうか? ここで何が起きてるの?

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

ruby - REXML で空白/改行を保持する

Ruby 1.9.3 と REXML を使用して XML ドキュメントを解析し、いくつかの変更 (追加/削除) を行ってから、ファイルを再出力しています。このファイル内には、次のようなブロックがあります。

問題は、ファイルを書き直した後、このブロックが常に次のようになることです。

2 番目の値の後の改行 (最初の値ではありません!) が失われ、スペースに変わりました。後で、私が制御も影響も及ぼさない他のコードがこのファイルを読み取り、それらの改行に依存してコンテンツを適切に解析します。通常、この状況では CDATA を使用して空白を保持しますが、後でこのデータを解析するコードは空白を想定していないため、これはオプションではありません。この要素の内部テキストをそのまま保持することが不可欠です。 .

私の読み取り/書き込みコードは次のようになります。

REXML を使用してこの方法でファイルを読み書きするときに、要素間のテキストの空白を保持する方法を探しています。この件に関するスタックオーバーフローに関する他の多くの質問を読みましたが、このシナリオを完全に再現するものはありません。アイデアや提案は大歓迎です。

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

ruby - ループ内から値を返すにはどうすればよいですか?

XML ファイルを読み取り、その構造をオブジェクトの配列に格納しようとしています。これが私のコードです:

ただし、最後の要素は値だけを取得していません。タグ全体を取得しています。それを行うより良い方法はありますか?

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

ruby - Ruby:xpathを使用して特定の要素からXML子要素を見つける方法は?

指定されたxml

目標: 以下の結果のように、最初に各 "b" を取得し、次にその "b" の下にある "c" を取得します。子を検索するためのXPath付き。

しかし、コードの下

降伏につながります

各「b」の下に「c」を取得する代わりに

以下の方法を試してみましたが、うまくいきませんでした.Xpathを使用すると、ルート要素から自動的に検索されるようです

私の回避策は、一度に子要素を 1 レイヤーずつトラバースし、目的のキーを検索することです。これは、XPath を使用する場合と比べて非常にばかげているようです。助言してください、ありがとう:)

参考: http: //ruby-doc.org/stdlib-1.9.3/libdoc/rexml/rdoc/REXML/Element.html#method-i-each_element_with_attribute

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

ruby - REXMLでxmlファイルにアクセスする

サンプル.xml

xml.rb

結果で要素にアクセスできました:

次のような結果が得られるように、コードを変更するにはどうすればよいですか? :

つまり、xml ファイルに表示されるのと同じ順序で要素にアクセスしたいと考えています。