我试图从一个XML文件中提取两个特定属性的值,该文件的结构如下;
<environment>
<applications>
<application1>
<app-config>
<server host="boxA" port="1234"/>
</app-config>
</applicaitons>
</environment>我希望能够读取属性"host“和"port”的值。
我已经尝试了下面这段代码,但这对我不起作用。
#!/usr/local/bin/perl -w
use XML::XPath;
my $file = "configuration.xml";
my $xp = XML::XPath->new(filename => $file);
my $hname = $xp->find('/environment/applications/application1/app-config/server/@host');
my $pnumber = $xp->find('/environment/applications/application1/app-config/server/@port');
print $hname;但是,当我运行此命令时,它不会返回任何输出。
提前感谢
发布于 2011-03-25 23:51:50
您的XML无效!修复它,它就能正常工作。
$ perl test.pl
boxA发布于 2011-03-25 23:53:18
你的perl脚本总是以;
use strict;并且在调试的同时,也要这样做;
use warnings;这将显示您的XML从一开始就是错误的。
修复你的XML,它就会工作!
发布于 2011-03-25 23:54:45
应该将</applicaitons>拼写为</applications>来替换文档中的拼写。消息来源是好的。
https://stackoverflow.com/questions/5434790
复制相似问题