大佬教程收集整理的这篇文章主要介绍了使用Perl XML :: DOM模块的分析器错误,“对无效字符编号的引用”,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
http://kdd.ics.uci.edu/databases/reuters21578/reuters21578.html
这是十多年前来自newswire的20,000条路透社文章的集合,是某些类型文本处理的标准测试集.为了简化我的perl测试,我从第一个文件中抓取了前几百行并制作了test.sgm,直到我的脚本正常工作.它开头是这样的:
<!DOCTYPE lewis SYSTEM "lewis.dtd"> <REUTERS TOPICS="YES" LEWISSPLIT="TraiN" CGISPLIT="TraiNING-SET" OLDID="5544" NEWID="1"> <DATE>26-FEB-1987 15:01:01.79</DATE> <TOPICS><D>cocoa</D></TOPICS> <PLACES><D>el-salvador</D><D>usa</D><D>uruguay</D></PLACES> <PEOPLE></PEOPLE> <ORGS></ORGS> <EXCHANGES></EXCHANGES> <COMPANIES></COMPANIES> <UNKNOWN> C T f0704reute u f BC-BAHIA-COCOA-REVIEW 02-26 0105</UNKNOWN> <TEXT> <titlE>BAHIA COCOA REVIEW</titlE> <DATELINE> SALVADOR,Feb 26 - </DATELINE><BODY>Showers conTinued throughout the week in the Bahia cocoa zone,alleviaTing the drought since early January and improving prospects for the coming temporao,...
我使用了http://www.xml.com/pub/a/2001/05/16/perlxml.html的perl脚本作为示例,最后得到了这个,extract.pl:
use XML::DOM; my $file = $ARGV[0]; my $parser = XML::DOM::Parser->new(); my $doc = $parser->parsefile($filE); #print $doc->getElementsByTagName('DATE'); print "\n";
我得到这个输出:
> perl extract.pl test.sgm reference to invalid character number at line 11,column 0,byte 343 at /usr/lib64/perl5/vendor_perl/5.8.5/x86_64-linux-thread-multi/XML/Parser.pm line 187 >
谷歌没有帮助(最热门的搜索似乎是一个我遇到同样错误的页面),我的Perl黑客朋友仍然在拉斯维加斯的Blackhat中徘徊.我有什么想法,或者我如何清理文件?我认为在“未知”标签内发生了不良情况,我甚至都不需要.我真的只想从每篇文章中提取文本.如果您需要更多信息,请告诉我.
现在,如果我们按照链接查看production for Char:
我们看到有些字符既不能在字面上出现,也不能在有效的XML文档中作为数字字符引用出现.
奇怪的是;我今天学到了一些关于XML的东西:).
有关可能的解决方法,请参阅ASCII control characters in XML上的此对话.
以上是大佬教程为你收集整理的使用Perl XML :: DOM模块的分析器错误,“对无效字符编号的引用”全部内容,希望文章能够帮你解决使用Perl XML :: DOM模块的分析器错误,“对无效字符编号的引用”所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。