エラーがでて期待する出力が出ず困っています。
ファイル名とXPathのコマンドライン引数をとり、
指定されたパスに一致するノードを出力するものです。
(参考書の写しなので、記述ミスはないと思います。)
■grabber.pl
use XML::XPath;
use XML::XPath::XMLParser;
my $xpath = XML::XPath->new( filename => shift @ARGV );
my $nodeset = $xpath->find( shift @ARGV );
foreach my $node ( nodeset->get_nodelist ) {
print XML::XPath::XMLParser::as_string( $node ) . "\n";
}
コマンドラインに入力しているものは、
perl grabber.pl data.xml "/inventory/category/item/name"
■data.xml
<?xml version="1.0"?>
<inventory date="2001">
<category>
<item id="2">
<name>aaaa</name>
</item>
</category>
</inventory>
です。
perl grabber.pl data.xml "/inventory/category/item/name"
としても、下記にエラーが出ます。
Can't locate object method "get_nodelist" via package "nodeset" (perhaps you for
got to load "nodeset"?) at grabber.pl line 5.
いろいろ試してみたり調べたのですが、
行き詰ってしまいました。
期待する出力は"<name>aaaa</name>"なのですが・・・
どなたかこのエラーの原因がおわかりになるかた
いらっしゃいますでしょうか。
環境は以下になります。
・windowsxp
・activePerl
モジュールのインストール済み
・XML-XPath
・XML-Parser
以上です。
No.1ベストアンサー
- 回答日時:
コマンドラインのパラメータをshift @ARGV で渡してるので
perl grabber.pl data.xml "/inventory/category/item/name"
↓
perl grabber.pl data.xml /inventory/category/item/name
でどうでしょうか?
この回答への補足
ご回答ありがとうございます。
試してみたんですが、まったく同じエラーがでてしまったようです。
なにがまちがっているのでしょうか・・・・
No.2
- 回答日時:
XML::XPath モジュールを使ったことがないので詳しいことはわかりません。
コードを一見したところ、
foreach my $node ( nodeset->get_nodelist ) {
は、
foreach my $node ( $nodeset->get_nodelist ) {
ではないかと思うのですが....?
できました!!!
ありがとうございます。
参考書がまちがっているなんてあるんですね・・・
疑いもしませんでした。。
今後は一字一句確認したいと思います。
本当にありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) vbaのエラー対応(実行時エラー7:メモリが不足しています) 4 2023/04/24 00:20
- アプリ Android studio 初心者 Hello Android!しか表示されない 1 2023/08/01 08:47
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- XML XML同じ名前の要素を自動で集約するツール 1 2022/04/11 09:21
- その他(プログラミング・Web制作) pythonでのカーソル移動がずれる 2 2023/07/30 08:51
- WordPress(ワードプレス) ワードプレスにて .xmlファイルの使い方をご存知の方、よろしくお願いいたします。 2 2022/09/30 00:55
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- Visual Basic(VBA) vbaの構文の修正相談(xmlファイルを順に開いてコピペ作業) 1 2023/04/22 01:18
- アプリ おすすめのパスワード管理アプリを教えてください。(iOSとWindows対応) 4 2023/01/19 02:08
- XML Windowsで見かけるxmlファイルってどういうものですか? 1 2022/06/03 14:57
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
perlをバージョンアップしたら...
-
Perlでファイルの末尾から指定...
-
英数文字列のうちの数値を4桁に...
-
#!/usr/bin/perlで書きだしたCG...
-
bashスクリプト
-
ファイルアイコンの左下に緑の□...
-
perlでリテラル値はメモリにど...
-
perlについて
-
Perlで特定文字列から特定文字...
-
CGIでimgタグでalignを使うとエ...
-
Perlの例文でif($a==1&&$b==5&&...
-
テキストファイルで提出とは?
-
Perl の外部モジュールの利用方法
-
アルファベットに付いて質問し...
-
Perlのエラーについてご教授く...
-
AI sisterとは、偽物の人ですか?
-
perlプログラミング 空白行削除
-
perlで2次元配列をサブルーチ...
-
Perlで時間の計算
-
perlのrequireの動き方について...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VHDLについてですが何がお...
-
Perl/TkのWWW::MechanizeのGET...
-
LWP::Simpleでのgetについて
-
Perl/TkでURLを既定のブラウザ...
-
LWPでHTMLが取得できないことが...
-
XML::XPathを使う
-
URI.pmの使い方を教えてくださ...
-
Perlでgoogle newsのRSSを取得...
-
mechanizeのタイムアウト処理に...
-
例外処理のフローチャートの記...
-
Excel VBAでリンク切れをチェッ...
-
ユーザー定義関数に#NAME?が返...
-
VBAで別モジュールへの変数の受...
-
"JScript"が見つかりません!
-
VBSがコンパイルエラーになりま...
-
VBでグローバル変数を宣言するには
-
エクセルVBAでシートモジュール...
-
「デバイスは PRN を初期化でき...
-
VBA This Workbookモジュール...
-
モジュールの最大数はいくつな...
おすすめ情報