0
我想弄清楚爲什麼當我想要原始文本字符串時,我在結果中獲取XML特殊字符。使用XML :: XPath的XML特殊字符get_nodelist
這裏是我的代碼:
#!/usr/bin/perl
use strict;
use warnings;
use XML::XPath;
my $xp = XML::XPath->new(ioref => \*DATA);
my $names = $xp->find('/category/event/@name');
foreach my $node ($names->get_nodelist) {
print XML::XPath::XMLParser::as_string($node) . "\n";
}
__DATA__
<category name="a">
<event name="cat1 > cat3" />
<event name="cat2" />
<event name="cat3" />
<event name="cat4" />
<event name="cat5" />
</category>
這裏是我的結果:
name="cat1 > cat3"
name="cat2"
name="cat3"
name="cat4"
name="cat5"
我想是這樣的:
name="cat1 > cat3"
name="cat2"
name="cat3"
name="cat4"
name="cat5"
我不知道該API,但嘗試打印'$ node-> getNodeValue()',而不是節點本身的字符串表示。 –
感謝您的回覆。我今天意識到我沒有跟進這篇文章。出於某種原因,XML:Xpath對我來說非常非常慢。相反,我使用XML:Twig來導航我的XML並最終導入XHTML文件。這要快得多,並給我我需要的結果。 –