如何在Embperl中用CDDATA包装XML?
我有以下需要在页面中显示的XML代码(如何在Embperl中用CDDATA包装XML?,xml,perl,Xml,Perl,我有以下需要在页面中显示的XML代码($XML): <?xml version="1.0" encoding="UTF-8"?> <Contact name="test" course="maths"> </Contact> 而不是显示XML 我试图删除该行: <?xml version="1.0" encoding="UTF-8"?> 而且显示正确 我的问题是,我不能总是做上述步骤,因为在未来将有另一种格式 作为一个永久性的解决方案,我想
$XML
):
<?xml version="1.0" encoding="UTF-8"?>
<Contact name="test" course="maths">
</Contact>
而不是显示XML
我试图删除该行:
<?xml version="1.0" encoding="UTF-8"?>
而且显示正确
我的问题是,我不能总是做上述步骤,因为在未来将有另一种格式
作为一个永久性的解决方案,我想将此xml包装到CDDATA中,并尝试使用perl,如:
$modified_xml = '<![CDATA['.$xml.']]>;
$modified_xml=”;
并显示错误,如:
XML Parsing Error: syntax error
<![CDATA[<?xml version="1.0" encoding="UTF-8"?><Contact name="test" course="maths"></Contact>]]>
XML解析错误:语法错误
]]>
错误与:
XML or text declaration not at start of entity at line 2, column 0, byte 1
但是:
<?xml version="1.0" encoding="UTF-8"?>
#!/usr/bin/perl
use strict;
use warnings;
use XML::Twig;
my $xml = '
<?xml version="1.0" encoding="UTF-8"?>
<Contact name="test" course="maths">
</Contact>';
XML::Twig -> parse ( $xml );
XML or text declaration not at start of entity at line 2, column 0, byte 1
my $xml = '<?xml version="1.0" encoding="UTF-8"?>
<Contact name="test" course="maths">
</Contact>';
XML::Twig -> parse ( $xml );
$xml =~ s/\A\s*//gms;