2011-05-16 54 views
0

我目前正在从数据库内容创建一个xml文档。我创建的输出保存到另一个数据库字段。当我验证我创建的xml时,它是无效的,因为xml标记中的数据无效,例如。 &符号,<符号在xml标记内容中。用c#创建xml文档并用perl解析它

我应该在创建xml文档时编码xml内容吗?

将数据保存到数据库后,通过用perl写入的批处理作业读取数据。在xml内容被编码之后,perl可以解码这个内容吗?如果是这样,这是如何实现的?

+0

heck。你怎么能期望Perl修复你的破碎的XML? – 2011-05-17 04:24:24

回答

2

如果您使用C#创建XML文档,则应该使用内置类型之一,如XmlWriterXDocument。这样,逃避角色需要逃避的细节就得到了照顾,你不必考虑它。

你应该在另一边做同样的事情,并在Perl中使用一些XML解析器。

如果您仍然想知道它是如何实现的(您不需要),那么使用character entities可以将所有不能出现在文本节点内的字符转义出来。例如,<转义为&lt;

+1

Perl中的一些[XML解析器](http://search.cpan.org/search?query=XML&mode=module)。有几个基本的解析器(如[XML :: Parser](http://search.cpan.org/dist/XML-Parser/)和[XML :: LibXML](http://search.cpan.org/dist/XML-LibXML /))以及用于各种用例的大量封装器。 – 2011-05-16 23:53:58