使用c#创建xml文档并使用perl解析它
我目前正在从数据库内容创建 xml 文档。我的创建的输出保存到另一个数据库字段。当我验证我创建的 xml 时,它是无效的,因为 xml 标记中的数据无效,例如。 &符号,< xml 标记内容中的符号。
创建 xml 文档时是否应该对 xml 内容进行编码?
数据保存到数据库后,通过用 perl 编写的批处理作业读取。 xml内容编码后,perl可以解码该内容吗?如果是这样,这是如何实现的?
I am currently creating an xml document from database content. The output of my creation is saved to another database field. When I validate the xml that I have created it is invalid as the data within the xml tags is not valid eg. & symbols, < symbols within the xml tag content.
Should I be encoding the xml content as I create the xml document?
After the data is saved in to the database it is read via batch job written in perl. After the xml content is encoded, can perl decode this content? And if so, how is this achieve?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果您在 C# 中创建 XML 文档,则应该使用内置类型之一,例如
XmlWriter
或XDocument
。这样,需要转义的转义字符的细节就得到了处理,而您不必考虑它。您应该在另一侧执行相同的操作并使用 Perl 中的一些 XML 解析器。
如果您仍然想知道它是如何实现的(您不需要),那么所有不能出现在文本节点内的字符都使用 字符实体。例如,
<
转义为<
。If you're creating an XML document in C#, you should be using one of the built-in types, like
XmlWriter
orXDocument
. That way, the details of escaping characters that need to be escaped is taken care of and you don't have to think about it.You should do the same on the other side and use some XML parser in Perl.
If you still want to know how is it achieved (you shouldn't need to), then all the characters that can't appear inside a text node are escaped using character entities. For example,
<
is escaped as<
.