0

我从 rss-feed 中读取带有 CDATA 部分的元素,我需要将其转换为有效的 xml。CDATA 部分中的内容大多是有效的 xhtml,但有时像 & 符号这样的字符会出现在属性(url)中。

我可以用它.replaceAll("&", "&")来解决这个问题,但稍微向前思考可能是其他无效字符出现在属性或文本中。

我要导入元素的 CMS 不会接受 CDATA 部分而不为内容设置另一个配置,所以我的问题是:是否有任何简单的方法来转义字符串,仅用于属性和文本?

我在导入后使用 jdom 库来操作 xml。

编辑:我检查了 apache 的 StringEscapeUtils,但这是转义整个字符串。我需要一些只能转义元素内的属性值和文本的东西。

4

2 回答 2

2

Apache Commons 为此提供了方便的函数:StringEscapeUtils

于 2012-09-05T10:41:22.853 回答
0

当您使用 JDOM 时,它会自动正确地转义任何需要它的内容。您的 CMS 是否加载了 JDOM 的输出,或者您是否使用其他库来填充 CMS...?

从本质上讲,如果您有有效的 XML 输入,并且使用 JDOM(来自 org.jdom2.output.*)来输出数据,那么您将始终有良好的输出......那么,您在做什么来破坏输出?

罗尔夫

于 2012-09-05T10:59:42.603 回答