我怎么使用XML::用于分析XML使用萨克斯?
-
19-09-2019 - |
题
唯一的例码我们发现迄今为止是这么老了也不会再工作(使用废弃的类)。所有我需要的是一些基本的东西,表明:
装载和分析XML文件
确定萨克斯事件处理程序(s)
阅读的属性或文本价值观的元素通过对事件的处理程序
其他提示
Sinan的建议是好的,但它没有连接所有的点。这是一个非常简单的程序,我拼凑起来:
1的文件:处理程序(MySAXHandler.下午)
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是默认:ss="urn:架构的microsoft-com:办公室:电子表格".因此,为了获得愚蠢的索引的特性,我需要这样的:
my $ssIndex = $el->{Attributes}{'{urn:schemas-microsoft-com:office:spreadsheet}Index'}{Value};
这是痛苦的。
XML::用于::萨克斯实现了 Perl萨克斯界面 并且有是一个很好的文件。
不隶属于 StackOverflow