【发布时间】:2016-10-14 07:23:59
【问题描述】:
我已经使用 CPAN 安装了XML:LibXML,但仍然出现以下错误:
Can't locate XML/LibXML/Element.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .)
下面是我的代码:
#!usr/bin/perl
use XML::LibXML::Element;
my $pxml = '/cctest/projects.xml';
my $twigp = XML::LibXML->new-> parse_file($pxml);
my $result = $twigp->getChildrenByTagName('branched_from_id');
print $result->to_literal,"\n";
projects.xml:
<projects>
<project>
<id>ID_2_19_16_12_15</id>
<name>RPSW </name>
<branch>fb16</branch>
<location>/draw/projects</location>
<author>Ras</author>
<branched_from_id>ID_10_8_13_12_35</branched_from_id>
<branched_from_version>175</branched_from_version>
</project>
<project>
<id>ID_1_21_14_1_13_24_PM</id>
<name>Platform</name>
<location>/draw/projects</location>
<author>lav</author>
<assigned_user>ka</assigned_user>
</project>
</projects>
请帮助我确定我做错了什么?要求是仅获取具有元素 branched_from_id 的节点。
【问题讨论】:
-
你安装
XML::LibXML了吗?你可以通过cpan install XML::LibXML -
另外:打开
use strict;和use warnings;。另外:修复你的shebang路径。你可能需要#!/usr/bin/perl。 -
您是否使用
sudo安装了LibXML?否则,您的包含路径也应该包含您的用户的 perl 包含路径。 -
您可能会从我的教程中受益:Perl XML::LibXML by Example。在这种情况下,主要问题似乎是您拥有
use XML::LibXML::Element;而不是use XML::LibXML;。
标签: xml perl xml-parsing perl-module xml-libxml