我正在使用Mark的“XML和Perl”一书,第一批介绍性程序之一是使用XML::Simple,我使用CPAN下载到Fedora。
我一直在犯这个错误
not well-formed (invalid token) at line 1我使用了一段时间的XML文档,然后加载了另一个XML文件,得到了同样的错误。
这个模块有什么问题吗?
[FEDORA_CASPER@new-host-3 xmlandperl]$ cat page39convert_xml_to_html_simple
#!/usr/bin/perl
use strict ;
use warnings ;
use XML::Simple ;
my $simple = XML::Simple ->new();
my $struct = $simple->XMLin("./symbolconfig.xml") ;
[FEDORA_CASPER@new-host-3 xmlandperl]$ ./page39convert_xml_to_html_simple
not well-formed (invalid token) at line 1, column 5, byte 5 at /usr/lib/perl5/vendor_perl/XML/Parser.pm line 187.
[FEDORA_CASPER@new-host-3 xmlandperl]$发布于 2015-03-03 22:05:20
通过设计,无效的XML应该是致命的。处理XML应在遇到错误时中止。
当发生这种情况时,大多数用于解析XML的模块都会使用die。您可以通过使用eval块来解决这个问题,但是不能“推送”解析XML,因为XML规范拒绝。
您真正应该做的是反馈给给您XML的人,然后用卷起的文档副本来击打他们的头部。
http://www.w3.org/TR/REC-xml/#dt-fatal
这里有一个XML验证器:validator.asp
此页面还将重新迭代:
XML规范指出,如果程序发现错误,则应停止处理W3C文档。
但是,如果没有XML示例,我只能重复您的错误:not well-formed (invalid token) at line 1, column 5, byte 5。
https://stackoverflow.com/questions/27461850
复制相似问题