Perl LibXML:是否可以在Method函数上获得返回值?

时间:2013-12-04 20:59:59

标签: perl libxml2

我希望能够得到某种确认(例如通过设置boolan变量或通过其他方式)来确认以下各个方法功能是否成功,而不是完全依赖于toString写方法:

1.) $node->parentNode->insertAfter($pbc_frag, $node);
2.) $node->unbindNode;
3.) $child->setData ($data);

这甚至可能吗?

1 个答案:

答案 0 :(得分:4)

为什么他们不会成功?

我希望他们在失败时抛出异常。

更新:是的,他们确实......

#!/usr/bin/env perl

use strict;
use warnings;
use XML::LibXML 2;

my $xml  = XML::LibXML->load_xml(IO => \*DATA);
my $quux = XML::LibXML->new->parse_balanced_chunk('<quux/>');

my ($bar) = $xml->findnodes('//bar');
my ($baz) = $xml->findnodes('//baz');

# $baz isn't within $bar, so cannot insert $quux
# such that $quux is both within $bar and after $baz
$bar->insertAfter($quux, $baz);  # this throws an exception

__DATA__
<foo>
  <bar/>
  <baz/>
</foo>