仅使用XML:LibXML在Perl中添加对XSLT的引用
发布时间:2020-12-16 23:05:54 所属栏目:百科 来源:网络整理
导读:我有一个动态创建的 XML.但是,我想在其中添加对XSLT文件的引用,以便能够在Mozilla中将XML文件呈现为HTML. 我希望我的最终XML能够像这样开始: ?xml version="1.0" encoding="utf-8"??xml-stylesheet type="text/xsl" href="xslt_stylesheet_file.xsl"?root_n
我有一个动态创建的
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,因此这不是一个解决方案. 这有优雅的解决方案吗? 编辑: 添加了一些代码 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/> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |