使い方を教えてくださいXML::LibXMLの解析をXMLを利用SAX?
-
19-09-2019 - |
質問
唯一の例外コードは、思ったことで古い動作しなくなっ用(非推奨クラス).すべてが必要であることが基本性:
読み込みとからXMLを解析ファイル
を定義するSAXイベントハンドラ(s)
読書の属性またはテキストの値の要素のイベントハンドラ
他のヒント
シナンの提案は良かったが、それはすべてのドットを接続していませんでした。ここで私は一緒に石畳非常に単純なプログラムがあります:
ファイル1:ハンドラ(MySAXHandler.pm)
package MySAXHandler;
use base qw(XML::SAX::Base);
sub start_document {
my ($self, $doc) = @_;
# process document start event
}
sub start_element {
my ($self, $el) = @_;
# process element start event
print "Element: " . $el->{LocalName} . "\n";
}
1;
ファイル2:テストプログラム(test.pl)
#!/usr/bin/perl
use strict;
use XML::SAX;
use MySAXHandler;
my $parser = XML::SAX::ParserFactory->parser(
Handler => MySAXHandler->new
);
$parser->parse_uri("some-xml-file.xml");
注:要素の属性の値を取得する方法。これは私が使用できるように記述されていませんでした。これは、構文を把握するために時間かけて連れて行ってくれました。ここにあります。インデックス:私のXMLファイルでは、属性がSSでした。 SS =「壷:スキーマ - マイクロソフト - com:office:スプレッドシートの」SSの名前空間の定義がのxmlnsました。このように、愚かなインデックス属性を得るために、私はこれを必要に応じます:
my $ssIndex = $el->{Attributes}{'{urn:schemas-microsoft-com:office:spreadsheet}Index'}{Value};
それは苦痛だった。
XML ::のlibxml ::サックスはのPerl SAXインタフェースを実装しています素敵な文書ます。
所属していません StackOverflow