xml - 如何使用 XML::Twig 从 URL 中提取一些 XML 数据?

标签 xml perl xml-twig

我想得到一个特定的字符串,例如 123 中的 123 来自 将从 URL 中检索的一些 XML。

我已经写了一段代码,但遇到了一条错误消息:

Attempt to bless into a reference at /usr/share/perl5/XML/Twig.pm line 392.

我该如何解决?

代码:

use XML::Twig;
use LWP::Simple;

my $url = 'http://192.168.1.205:13000/status.xml';
my $twig = new XML::Twig(TwigRoots => {
'smsc/received' => sub {$author = $_[1]->text;  }});
$twig->nparse( $url );
$twig->print;

最佳答案

nparse 为您处理 new(因此是“n”),在这种情况下您想要的可能是 xparse,或者让模块自行处理出去做这个:

my $url= 'http://192.168.1.205:13000/status.xml';
my $twig= XML::Twig->parse( twig_roots => 
                              { 'smsc/received' => sub { $author= $_[1]->text;}},
                             $url
                           );
$twig->print; # I am not sure why you print the twig instead of just $author

关于xml - 如何使用 XML::Twig 从 URL 中提取一些 XML 数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1524597/

相关文章:

bash - 在后缀文件中查找和替换 URL - Linux/Ubuntu

Python 创建 XML 文件

android - 解析 XML 文件时出现非法参数异常

java - Android 中的 R.java 类

java - JAXB/EclipseLink : unmap a type dynamically

Perl XML::Twig - 保留属性中和周围的引号

perl - Perl中的数字和字符串串联

linux - 不断将 Linux 命令的输出写入文件

Perl XML::Twig 没有子项的复制

perl - 在 XML :TWIG, 中如何在找到感兴趣的元素后停止解析