0

我正在使用 anyuri xsd 数据类型。我正在使用 java String builder 构建它。现在为了遵守它,我需要从中删除 char # 并用转义字符替换。现在我尝试用 %23 替换它,据我了解,它是这个字符的十六进制表示,但没有恶意。如果有人遇到此问题,请分享。

4

2 回答 2

1

您可以使用StringEscapeUtils.escapeXml来做到这一点。这个:

System.out.println(StringEscapeUtils.escapeXml("<some foo=\"xxx&\"/>"));

将输出:

&lt;some foo=&quot;xxx&amp;&quot;/&gt;

但是您不应该走这条路,只学习如何使用适当的 Java 库生成 XML。请参阅此处的一些java+xml 问题

编辑 您可以使用 &#xNN; 转义任何 unicode 字符,其中 NN 是给定字符的十六进制值。# 将是 #

于 2012-09-20T13:54:56.140 回答
-1

XML 等效语法,例如 '<' 是

&lt;

于 2012-09-20T13:54:27.967 回答