問題タブ [nokogiri]

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 に答える
2601 参照

ruby-on-rails - XML パーサーを使用するタイミングと ActiveResource を使用するタイミングをどのように判断しますか?

ActiveResource を使用して、HTML ドキュメントに似た Web サービスを解析しようとしましたが、404 エラーが発生し続けました。

このタスクには、ActiveResource の代わりに XML パーサーを使用する必要がありますか?

私の推測では、ActiveResource が役立つのは、別の Rails アプリのデータを使用していて、XML データを Rails モデルに簡単に変換できる場合だけです。たとえば、Web サービスが HTML ドキュメントや RSS フィードなどのより広範な XML である場合は、hpricot や nokogiri などのパーサーを使用する必要があります。これは正しいです?

XML パーサーを使用するタイミングと ActiveResource を使用するタイミングをどのように判断しますか?

0 投票する
4 に答える
22621 参照

ruby - Nokogiri を使用した XML ノードと XML 要素の挿入と削除

XML ファイルの一部を抽出し、「ここで何かが抽出されました」のように、そのファイルの一部を抽出したことをメモしたいと思います。

私は Nokogiri でこれをやろうとしていますが、実際には次の方法について文書化されていないようです:

  1. a のすべての子を削除<Nokogiri::XML::Element>
  2. そのinner_text完全な要素の

手がかりはありますか?

0 投票する
4 に答える
1119 参照

ruby-on-rails - Scrubyt から Nokogiri への移行 - XML またはハッシュへの書き込み?

このコードをスクラブからノコギリに移行しようとしていますが、結果をハッシュまたは xml に書き込もうとしています。スクラブでは、次のようになります。

nokogiri を使用すると、必要な情報を解析できますが、アイテムをハッシュまたは xml ドキュメントで返す簡単な方法はないようです。ノコギリにあるのはこれだけです。

アイテム情報を xml またはハッシュに返すにはどうすればよいでしょうか?

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

ruby - libxml-ruby 解析ヘルプ

さて、動作中の Hpricot から Libxml-ruby に切り替えたのは、速度と _why の消失のためでした。しばらく Nokogiri を検討しましたが、速度と寿命のために Libxml-ruby を検討することにしました。基本的なものが欠けているに違いありませんが、しようとしていることがうまくいきません。これが私の XML 文字列です。

完全なフィードから約 150 のエントリがあります。

150 のエントリをループして、コンテンツと属性を取得したいだけですが、Hpricot で問題なく動作していた libxml-ruby で非常に苦労しています。

この小さなスニペットは、エントリを取得していないことを示しています。

何か案は?ドキュメントを調べたところ、単純な XML ファイルが見つかりませんでした。x、y、z を取得するサンプルを次に示します。これはかなり単純なはずです。

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

xml - Nokogiri を使用して名前空間を持つノードを XML ファイルに追加する

XML ファイルの編集に問題があります。私は現在Nokogiriを使用しようとしていますが、この問題を解決するために他の Ruby ライブラリを使用できます。

別のノード セット内にノード セットを追加しようとしています。どちらにも興味深い名前空間があります。これがコードです。最初の直後に new_node を親に追加しようとしています<p:sp>

上記のコードを実行すると、@doc は以下の XML のようになります。

p: の下のすべての名前空間が再度指定されていることに注意してください。2つのノードはそうである必要があり<p:sp>、p :をnew_nodeから削除することもできますが、a:offはp:の下に名前空間が付けられたままになり、それはできません。私は何か間違ったことをしているに違いないことを知っています。私が探している最終結果は次のとおりです。<a:off><p:p:sp><p:a:off>

0 投票する
4 に答える
2703 参照

ruby - open-uri + hpricot & nokogiri が html を正しく解析しない

open-uri + hpricot を使用して Web ページを解析しようとしていますが、宝石が欲しいものをもたらさないため、解析プロセスに問題があるようです。

具体的には、このdiv (ID は'pasajes' ) をこの URLで取得したい:

http://www.despegar.com.ar

私はこのコードを書きます:

しかし、それは何ももたらしません!hpricot と nokogiri の両方で多くのことを試しました。

  1. そのdivへの絶対パスを指定してみます
  2. セレクターで CSS パスを試す
  3. hpricot 検索ショートカット (doc//"div#pasajes") で試してみます
  4. 「pasajes」divに到達するためのほぼすべての可能な相対パス

最後に、恐ろしい解決策を見つけました。私はwatirライブラリを使用し、Webブラウザを開いた後、htmlをhpricotに渡しました。このようにして、hpricot は 'pasajes' div を認識します。しかし、解析目的のためだけに Web ブラウザを開きたくありません...

私が間違っていることは何ですか?オープンウリの効きが悪い?プリコットですか?

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

ruby - nokogiri xpath式が解析されない

私はRuby 1.8.7でNokogiri 1.3.3を使用しています。このSOの質問で説明されているように、タグの内容を一致させようとしています:

Nokogiri は.、ブラケットの後の ' ' について不平を言う例外を発生させます。.' ' をそれに置き換えるとtext()、2 番目のピリオドについて不平を言います。これは私ですか、ノコギリですか?どうすれば修正できますか

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

xml - NokogiriのXPath式でエスケープ文字を処理する方法

次のようなxmlドキュメントでnokogiriを使用しています。

エスケープ文字を含む曲を検索しようとすると、次の xpath クエリでは何も返されません (クエリで使用されているファイル名文字列をエスケープするかどうかに関係なく)。

xpathクエリでエスケープ文字を表現する正しい方法は何ですか?

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

ruby - Nokogiri::XML.fragment を使用した HTML エンティティの問題

を使用してすべてのエンティティが殺されているようです

結果:

上記のメソッドが呼び出しNokogiri::XML::DocumentFragment.parse(tags)、そのメソッドが を呼び出します Nokogiri::XML::DocumentFragment.new(XML::Document.new, tags)

nokogiri ドキュメントに関しては、次のコードが実行されます。

XML::SAX::Parser と対応する FragmentHandler を扱っていると思います。コードを掘り下げてもヒントはありません。正しい結果を得るには、どのパラメーターを設定する必要がありますか?

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

ruby - rake を使用して各ファイルの html セクションを挿入/置換する方法は?

rake を使用して、一連の静的 HTML ファイルから目次を作成しています。

問題は、rake 内からすべてのファイルに挿入する方法です。

<ul id="toc">各ファイルに目的の があります。置き換えたい内容全体。

Nokogiri などを使用してドキュメントを解析し、DOM ノードを置き換えることを考えていましたul#toc。ただし、パーサーの DOM を HTML ファイルに書き込まなければならないという考えは好きではありません。レイアウト/インデントなどを変更するとどうなりますか??

何か考え/アイデアはありますか?または、実際の例へのリンクですか?