首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Perl解析XML文件

使用Perl解析XML文件
EN

Stack Overflow用户
提问于 2011-03-25 23:46:07
回答 4查看 5K关注 0票数 3

我试图从一个XML文件中提取两个特定属性的值,该文件的结构如下;

代码语言:javascript
复制
<environment>
    <applications>
       <application1>
          <app-config>
             <server host="boxA" port="1234"/>
           </app-config>
       </applicaitons> 
</environment>

我希望能够读取属性"host“和"port”的值。

我已经尝试了下面这段代码,但这对我不起作用。

代码语言:javascript
复制
#!/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;

但是,当我运行此命令时,它不会返回任何输出。

提前感谢

EN

回答 4

Stack Overflow用户

发布于 2011-03-25 23:51:50

您的XML无效!修复它,它就能正常工作。

代码语言:javascript
复制
$ perl test.pl
boxA
票数 4
EN

Stack Overflow用户

发布于 2011-03-25 23:53:18

你的perl脚本总是以;

代码语言:javascript
复制
use strict;

并且在调试的同时,也要这样做;

代码语言:javascript
复制
use warnings;

这将显示您的XML从一开始就是错误的。

修复你的XML,它就会工作!

票数 4
EN

Stack Overflow用户

发布于 2011-03-25 23:54:45

应该将</applicaitons>拼写为</applications>来替换文档中的拼写。消息来源是好的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5434790

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档