【发布时间】:2012-03-08 09:01:01
【问题描述】:
我在我的项目中使用 Freemarker 从一个 XML 文档转换到另一个。 由于糟糕的设计或规范消息格式的选择,我们的供应商选择在 CDATA 转义字段中嵌入一些 XML,可能是因为他们选择的消息标准不能处理所有类型的扩展。无论出于何种原因,我现在都需要深入研究这个领域并进行一些 xpath 查询。
说即:
<Invoice>
..
<Note><![CDATA[<?xml version="1.0" encoding="utf-8"?><a><b>Value</b></a>]]></Note>
</Invoice>
有人知道如何在这种情况下获取值“a/b/text()”吗?
我曾考虑尝试手动清理 CDATA 部分,然后将其解析为 XML,但我希望 Freemarker 可以为我做到这一点。
【问题讨论】:
-
非常恶搞...我认为我的问题很清楚。对于所有的 XML 狂热分子:是的,我知道您不应该解析 CDATA 部分。上过那节课,完全同意。但在这种情况下,我别无选择,因为供应商很大,很遗憾不会听我对 XML 标准的看法。
标签: xml freemarker cdata