2009-09-25 3 views
0

У меня есть хрустальный отчет, содержащий некоторые XML-данные. Эта строка XML хранится в столбце базы данных (Oracle 10g). Сейчас отчет просто отображает всю строку в одном большом уродливом беспорядке. Есть ли хороший способ либо красиво распечатать xml (поместить теги на отдельные строки, может быть, вложенные вложенные теги), или даже отформатировать xml, как и другие данные в отчете?довольно печатать XML в отчетах кристалла

Моя нынешняя лучшая идея (где лучше всего не означает, что это хорошо), - это просто заменить строку везде, где я вижу> <, так что по крайней мере каждый тег будет находиться на отдельной строке.

Что было бы удивительным - это способ передать эту строку xml в подзаголовок и использовать в качестве субстрата этот XML-объект, поскольку он является источником данных. То, что было бы почти так же хорошо, для моих целей, было бы неплохой функцией XMLXX где-то в кристалле, который бы просто форматировал необработанный XML-код. Я имею доступ к Crystal 11. Спасибо.

EDIT - Я ценю помощь до сих пор, но я уже знаю 37 различных способов, которыми я мог бы это сделать вне Кристалла. Я ищу решение, которое работает в самом инструменте проектирования Crystal Reports.

ответ

0

Если вы используете это на веб-странице, я считаю, что вы должны иметь возможность форматировать его с помощью файла css. Но вы также можете использовать XSLT вне Crystal Reports. Ниже приведены некоторые ссылки, которые могут помочь.

Link for Displaying XML with CSS

Link for to a css with crystal reports question on SO

Link of an example of XSLT instead of Crystal Reports

+0

мне это нужно, чтобы работать в самой Crystal Reports. Отчет включает данные из других таблиц/столбцов, которые не являются xml. Если бы я делал это за пределами кристалла, было бы тривиально просто разобрать xml и делать все, что я хотел бы с ним. но в этом случае явная цель - подготовить критический отчет. –

0

Послать XML результат через тождественное преобразование XSLT с атрибутом выходного отступа равным да.
Он будет выдавать то же содержание, но «довольно печататься»

<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> 
+0

Как мне преобразовать XSL в строку из Crystal? Чтобы уточнить, мой вопрос заключается не только в том, как довольно печатать XML - я мог бы сделать это, стоя на моей голове, если бы не было других ограничений. Мне тяжело то, что я пытаюсь сделать это из Crystal Reports. –

Смежные вопросы