我有一份包含一些XML数据的水晶报告。此XML字符串存储在数据库列(Oracle 10g)中。现在,报告只是将整个字符串显示在一个大丑陋的混乱中。有没有什么好方法可以打印xml(将标签放在单独的行上,也可以缩进嵌套标签),甚至可以像报告中的其他数据一样格式化xml?
我目前最好的想法(最好并不意味着好),就是在我看到><所有地方做一个字符串替换,以便至少每个标记都在一个单独的行上。
将xml字符串传递到子报表并让子报表使用该xml作为其数据源的方法是多么棒。对于我的目的来说,几乎同样好的是在水晶中的某个地方的prettyprintXML函数,它将以一种很好的方式格式化原始xml。我可以访问Crystal 11。 谢谢。
编辑 - 到目前为止,我很感谢你的帮助,但我已经知道37种不同的方法可以在Crystal之外做到这一点。我正在寻找一种在Crystal Reports设计工具中运行的解决方案。
答案 0 :(得分:0)
如果您在网页上使用此功能,我相信您应该能够使用css文件对其进行格式化。但您也可以在Crystal Reports之外使用XSLT。以下是一些可能有用的链接。
Link for Displaying XML with CSS
答案 1 :(得分:0)
通过标识转换XSLT发送XML结果,输出indent属性设置为yes。
它将输出相同的内容,但“漂亮打印”
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:template match="node() | @*">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>