XML ::简单的行不完整(无效令牌)令牌

时间:2014-12-13 17:50:58

标签: xml perl module

我正在使用Mark Riehl撰写的书XML and 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]$

1 个答案:

答案 0 :(得分:1)

按设计 - 无效的XML应该是致命的。处理XML应该在遇到错误时中止。

发生这种情况时,解析XML的大多数模块都会die。您可以使用eval块来捕获此信息,但您无法做到的是推送'解析XML,因为XML规范说没有。

你真正应该做的是反馈给那些给你XML的人,并用卷起的文档副本点击它们。

http://www.w3.org/TR/REC-xml/#dt-fatal

这里有一个XML验证器: http://www.w3schools.com/xml/xml_validator.asp

此页面也会重复:

  

W3C XML规范规定,如果发现错误,程序应停止处理XML文档。

但是,如果没有XML示例,我只能重复您的错误说明: not well-formed (invalid token) at line 1, column 5, byte 5