如何在Perl中避免XML文档的文本? [英] How can I escape text for an XML document in Perl?

查看:128
本文介绍了如何在Perl中避免XML文档的文本?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

任何人都知道任何Perl模块在XML文档中转义文本?



我将生成包含用户输入的文本的XML。我想要正确处理文本,以便生成的XML格式正确。

解决方案

我个人更喜欢 XML :: LibXML - 用于libxml的Perl绑定。其中一个优点 - 它使用最快的XML处理库之一。以下是创建文本节点的示例:

 使用XML :: LibXML; 
我的$ doc = XML :: LibXML :: Document-> new('1.0',$ some_encoding);
my $ element = $ doc-> createElement($ name);
$ element-> appendText($ text);
$ xml_fragment = $ element-> toString();
$ xml_document = $ doc-> toString();

而且永远不要用手创建XML。当人们发现你做了什么时,对你的健康来说,这将是坏的。


Anyone know of any Perl module to escape text in an XML document?

I'm generating XML which will contain text that was entered by the user. I want to correctly handle the text so that the resulting XML is well formed.

解决方案

I personally prefer XML::LibXML - Perl binding for libxml. One of the pros - it uses one of the fastest XML processing library available. Here is an example for creating text node:

use XML::LibXML;
my $doc = XML::LibXML::Document->new('1.0',$some_encoding);
my $element = $doc->createElement($name);
$element->appendText($text);
$xml_fragment = $element->toString();
$xml_document = $doc->toString();

And, never, ever create XML by hand. It's gonna be bad for your health when people find out what you did.

这篇关于如何在Perl中避免XML文档的文本?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆