【问题标题】:Format string for XMLXML 的格式字符串
【发布时间】:2013-11-25 20:04:51
【问题描述】:

我正在编写一些代码来将 XML 文档发送到 Servlet。对于其中一个 XML 标记字段,我需要用从外部文件检索到的字符串填充它。

我发现了几个包含一些 字符的外部文件。在这种情况下,servlet 将不接受这个 XML 文档。

如果我从 XML 标记字段中删除 字符,则 XML 文档会正确发送。

由于我将使用 1000 多个外部文件,我确信还会出现其他“非法”字符。是否有可用于格式化字符串的 XML 编码或类似函数,以便可以将其存储在 XML 标记中而不会出错?

我尝试过 HTML 编码,但这不起作用。 XML 是否有等效的操作?

【问题讨论】:

  • 您需要使用实际的 XML API 而不是手动构建字符串。使用 LINQ to XML。
  • 如果 LINQ 不是一个选项,请使用 XmlDocument 类 msdn.microsoft.com/en-us/library/…
  • HTML 编码适用于 XML,为什么你认为它不起作用?

标签: c# xml encode illegal-characters xml-encoding


【解决方案1】:

如果您真的想构建自己的 XML 字符串,请将您的外部字符放在 CDATA 标记中。您只需要确保结束序列(即]]>)不在外部文件中。如果你发现了这个,你必须先重新添加或用其他字符串替换它。所以:

<![CDATA[*your external stuff containing < and > here*]]>

【讨论】:

    猜你喜欢
    • 2011-04-06
    • 1970-01-01
    • 2010-11-10
    • 2011-10-04
    • 2012-02-29
    • 2010-09-19
    • 1970-01-01
    相关资源
    最近更新 更多