我有一个动态创建的 XML。但是,我想在其中添加对 XSLT 文件的引用,以便能够在 Mozilla 中将 XML 文件呈现为 HTML。
我希望我的最终 XML 能够这样开始:
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="xslt_stylesheet_file.xsl"?>
<root_node>
</root_node>
我无法安装 XML::LibXSLT,因此这不是解决方案。
另一种解决方案是将 XML 写入文件中,将其作为常规文件打开并添加 XSLT 引用 - 但这对我来说似乎并不正确。
有没有优雅的解决方案?
Edit:
添加了一些代码
use strict;
use warnings;
use XML::LibXML;
my $final_xml = XML::LibXML::Document->new('1.0','utf-8');
my $root_node = $final_xml->createElement('root');
$final_xml->setDocumentElement( $root_node );
open (MYFILE, '>final.xml' );
print MYFILE $final_xml->toString();
close (MYFILE);
输出是:
<?xml version="1.0" encoding="utf-8"?>
<root/>
use strict;
use warnings;
use XML::LibXML;
my $final_xml = XML::LibXML::Document->new('1.0','utf-8');
my $pi = $final_xml->createProcessingInstruction("xml-stylesheet");
$pi->setData(type=>'text/xsl', href=>'xslt_stylesheet_file.xsl');
$final_xml->appendChild($pi);
my $root_node = $final_xml->createElement('root');
$final_xml->setDocumentElement($root_node);
$final_xml->toFile("final.xml")
=>
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet href="xslt_stylesheet_file.xsl" type="text/xsl"?>
<root/>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)