- 締切済み
純Perl製のXMLパーサーはありませんか
horagaiです。お世話になっております。 PerlでXMLファイルを処理する必要があり、Perlで使えるXMLパーサーを探してみたところ、XMLParserというそのものずばりの名前のモジュールがあることがわかりました。 しかし、これはXMLパーサー本体ではなく、expatというC言語で書かれたXMLパーサーを利用するためのインターフェイスらしいです。それに私は無料ホームページスペースで使いたいので、コンパイルの必要なモジュールは利用できません。 Perlだけで使える(expatのようなPerl以外で書かれた非標準的外部プログラムを必要としない)XML処理用のライブラリー(モジュールではなくパッケージ)をご存知ないでしょうか。 出来れば日本語も処理できる(それもUnicodeだけでなくEUC-JPやShift-JISのファイルも)ようなものが望ましいです。 Perlはテキスト処理が得意なので、Perlで書かれたXMLパーサーは当然あると思っていたのですがどうも見つかりません。 なお利用目的としてはデータ構造を取り出すと言うよりも単にXMLデータをHTMLに直したいだけなので、別にXMLパーサーでなくてもそのような目的に使えるようなパッケージであればそれでも構いません。 なおCPANも一応はチェックして見ましたが見つかりませんでした。(もちろん見落としはあるかも知れませんが) よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- alfeim
- ベストアンサー率58% (114/195)
XML->HTMLの変換だけならXSLTがあればいいのでしょうから http://xmlxslt.sourceforge.net/ が使えるのではないでしょうか? ほかにもlibxmlへのラッパもあるようです。これならjakartaさんの示したXercesよりは入っている可能性が高そうですが・・・ もっとも文字コードのことを考えたらXerces+ICU(またはXML4C)とかを用意できる環境を探したほうがいいんでしょうけど。
- jakarta
- ベストアンサー率38% (607/1597)
残念ながら無料スペースでは使えないと思いますがPerl用のXerces XML parserというのがあります。参考にしてみてください。 http://xml.apache.org/xerces-p/index.html
お礼
jakataさん。ありがとうございました。 でも、これもやはりパーサーそのものではなくラッパーのようですね。
補足
alfeimさんありがとうございます。 >http://xmlxslt.sourceforge.net/ > が使えるのではないでしょうか? おお。これはよさそうだ。と思ってよく見たら… XML::XSLTを使うためにはXML::Parserが必要 と書いてありました。 はぁぁ~。やっぱりどこまでいってもexpatから逃れられないみたいです。