sawa25のプロフィール

@sawa25 sawa25
ありがとう数2
質問数0
回答数3
ベストアンサー数
2
ベストアンサー率
100%
お礼率
0%

  • 登録日2008/07/07
  • ネストされているRSSのデータ取り出し

    RSSからデータ取り出しについて、ご教授ください。 use XML::RSS; をperlに実装して、RSSファイルを分解し、必要なデータだけ取り出すスクリプトを使用しています。 データがとれなくなったので、ソースを調べたところ、配布元が改造をしたらしく <rss version="2.0"> <channel> <title>RSSによる順位公開</title> <item> <title>タイトル1</title> <rank>1</rank> <preranks> <rank>3</rank> </preranks> </item> <item> <title>タイトル2</title> <rank>2</rank> <preranks> <rank>10</rank> </preranks> </item> のようになっていました。 <rank> はそのときのタイトルの表示ランキングで、<preranks>は、RSSが更新される以前の表示ランキングを示しています。 ちなみに、preranks からネストしている rank を別の表記にしたり、ネストしない構造に変更することは、対応できないとの回答でした。 $rss->parse( RSSのURL ); for (@{$rss->{'items'}}) { $el00 = $_->{title}; $el01 = $_->{rank}; } と実行すると、$el00は、タイトル1 や タイトル2 と希望通りの形に分解できるのですが、$el01 は 13 や 210 など、<preranks> の内側の <rank> と並べた数字で表示されてしまいます。 といって、 $el01 = $_->{preranks}; でも数字がとれません。 こうした構造のRSSで、<rank> と <preranks> をデータとして分解するには、どんな記述をしたらいいのでしょうか? よろしくご教授お願いします。

  • Perl での XML 処理での DTD 宣言につ

    Perl の XML::LibXML モジュールを使用して XML を処理しています。 例えば、 <?xml version="1.0" encoding="UTF-16" standalone="no"?> <!DOCTYPE aaa PUBLIC "-//bbb//CCCC//EN" "ddd.dtd" []> <doc> ....... </doc> のようなXMLに対してPerlで処理をして、 最後に documentElement を toString して書き出しています。 しかし、この場合、DTD宣言部分を書き出すことができません。 XML::LibXMLでこの部分を取得して書き出すことはできますでしょうか。 どうぞ、よろしくお願いします。

    • ベストアンサー
    • dokuso007
    • Perl
    • 回答数1
  • 本を探しています(XMLをPerlで文字取得編集)

    お世話になります。 XMLファイル(DTDファイルも別途有ります)を、 出来ればPerlで、 XSLT(XSLの変換機能)等を利用して、 文字取得・編集したいです。 (XMLから文字を取得して、Perl等で文字編集後、  別のテキストファイルとして出力したいです) そのような内容が掲載されている本を Amazonのレビュー等を参考にしながら探しているのですが、 なかなか見つけることが出来ません。 できればPerlがよいのですが、なければ、 Perl以外の別のプログラム言語でも構いませんので、 お勧めの本(もしくはWebサイト等)などございましたら、 ぜひ紹介してください。 よろしくお願いいたします。

    • ベストアンサー
    • hiroasa21
    • XML
    • 回答数1