2013-11-25 51 views
0

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

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

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

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

我试过HTML编码,但这不起作用。是否存在XML的等价操作?

+2

您需要使用实际的XML API,而不是手动构建字符串。使用LINQ to XML。 – SLaks

+0

如果LINQ不是一个选项,请使用XmlDocument类http://msdn.microsoft.com/en-us/library/system.xml.xmldocument(v=vs.110).aspx – Bit

+0

HTML编码适用于XML,您为什么认为它不? –

回答

0

如果您确实想构建自己的XML字符串,请将外部字符放在CDATA标记中。您只需确保结束序列(即]]>)不在外部文件中。如果你发现这一点,你必须安排或替换之前的其他字符串。所以:

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