-1

试图在雪豹上运行我的 xml 解析过程。该过程读取 xml 文件,解析、提取数据块并写入输出文件。进程在 Windows 机器上就像一个魅力。(感谢大家在 stackoverflow)但是当我试图在我的 mac 上运行时,输出文件中的文本数据块被写成:

XML::LibXML::Element=SCALAR(0x1008c61d0)|

做了谷歌搜索,但没有找到任何相关的东西。希望这里有人能指出问题所在?这可能与安装相关还是与流程相关?

任何帮助将不胜感激。

谢谢,西马克

4

1 回答 1

1

最近版本的 XML::LibXML 对 XML::LibXML::Element 对象进行了字符串重载。因此,以下脚本将使用不同的 XML::LibXML 版本显示不同的输出:

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

my $doc = XML::LibXML->new->parse_string(<<EOF);
<test>
  <foo>hello</foo>
</test>
EOF
my($node) = $doc->findnodes('/test/foo');
print $node, "\n";

在安装了 XML::LibXML 1.69 的旧系统上,输出为:

XML::LibXML::Element=SCALAR(0x8259700)

在安装了 2.0014 的较新系统上,输出为:

<foo>hello</foo>
于 2013-07-08T09:14:41.830 回答