エラーがでて期待する出力が出ず困っています。
ファイル名と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.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ランキング
-
mechanizeのタイムアウト処理に...
-
Perl/TkでURLを既定のブラウザ...
-
Excel VBAでリンク切れをチェッ...
-
例外処理のフローチャートの記...
-
エクセルVBAでシートモジュール...
-
ユーザー定義関数に#NAME?が返...
-
'Range'メソッドは失敗しました
-
「デバイスは PRN を初期化でき...
-
VBでグローバル変数を宣言するには
-
VBSがコンパイルエラーになりま...
-
VBのフォームモジュールと標準...
-
「Perl Command Line InterPret...
-
VBA This Workbookモジュール...
-
現在アクティブなフォーム名を...
-
VBAで旧字体を異字体に一括で変...
-
【vba】フォームに書いてあ...
-
ACCESSのVBAでPrivate Sub ~en...
-
標準モジュールを削除したい。(...
-
Excel VBA 『Call』で呼び出す...
-
モジュール関連図・モジュール...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Perl 強制終了の回避について
-
Win32でInputBoxを実装するには?
-
VHDLについてですが何がお...
-
Perl/TkでURLを既定のブラウザ...
-
LWPでHTMLが取得できないことが...
-
Perl LWPでのIPv6エラー
-
LWP::Simpleでのgetについて
-
mechanizeのタイムアウト処理に...
-
TwitterAPI1.1でGetメソッド(...
-
Excel VBAでリンク切れをチェッ...
-
Excel VBA 定義されたプロージ...
-
例外処理のフローチャートの記...
-
ArduinoのジャイロモジュールMP...
-
ユーザー定義関数に#NAME?が返...
-
「デバイスは PRN を初期化でき...
-
VBAで別モジュールへの変数の受...
-
Excel VBA 『Call』で呼び出す...
-
エクセルVBAでシートモジュール...
-
LCD ディスプレイを Raspberry ...
-
モジュールとは何ですか
おすすめ情報