Мне нужно преобразовать следующий XML в плоский файл с разделителем в виде «|», используя XSLT.
Это мой XML:
<?xml version="1.0" encoding="UTF-8" standalone="no" ?><GeneralLedgerReport targetNamespace="http://www.portal.com/schemas/GLSync" xmlns="http://www.portal.com/schemas/GLSync" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.portal.com/schemas/GLSync brm_gl_data.xsd">
<SourceSystemID>Germany</SourceSystemID>
<ReportID>0.0.0.1-697031-1136</ReportID>
<RevenueType>Unbilled earned</RevenueType>
<BRM_GL_Segment>.</BRM_GL_Segment>
<ReportCreatedTime>
<Year>2013</Year>
<Month>01</Month>
<Day>14</Day>
<Hours>16</Hours>
<Minutes>2</Minutes>
<Seconds>3</Seconds>
</ReportCreatedTime>
<PeriodStartTime>
<Year>2012</Year>
<Month>10</Month>
<Day>15</Day>
<Hours>0</Hours>
<Minutes>0</Minutes>
<Seconds>0</Seconds>
</PeriodStartTime>
<PeriodEndTime>
<Year>2012</Year>
<Month>10</Month>
<Day>16</Day>
<Hours>0</Hours>
<Minutes>0</Minutes>
<Seconds>0</Seconds>
</PeriodEndTime>
</GeneralLedgerReport>
Обязательный вывод: Отчет в Главной книге
Германия | 0.0.0.1-697031-1136 | Непогашенный заработан | 2013/01 / 14-16: 02: 03 | 2012/10 / 15-00: 00: 00 Германия | 0.0.0.1-697031-1136| Непогашенный заработанный | 2013/01 / 14-16: 02: 03 | 2012/10 / 15-00: 00: 00 Германия | 0.0.0.1-697031-1136 | Непогашенный заработанный | 2013/01 / 14-16: 02:03 | 2012/10 / 15-00: 00: 00 Германия | 0.0.0.1-697031-1136 | Непогашенный заработанный | 2013/01 / 14-16: 02: 03 | 2012/10 / 15-00: 00: 00
Я попробовал несколько вещей, но вывод выглядит так:
Германия0.0.0.1-697031-1136Небилл заработано20130114160203201210150
Нужно срочно, пожалуйста, помогите!Спасибо!
Я новичок в XSLT, не знаю, как получить элементы отдельно с разделителями, я попробовал это:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:exslt="http://exslt.org/common"
xmlns:java="http://xml.apache.org/xalan/java" exclude-result-prefixes="exslt java">
<xsl:output method="text" version="1.0" encoding="ISO-8859-1" indent="yes"/>
<xsl:template match="/">
<xsl:apply-templates select="/"/>
</xsl:template>
<xsl:template match="/">
<xsl:value-of select="."/>
</xsl:template>
</xsl:stylesheet>
Подробнее XML:
<SourceSystemID>Germany</SourceSystemID>
<ReportID>0.0.0.1-697031-1116</ReportID>
<RevenueType>Unbilled earned</RevenueType>
<BRM_GL_Segment>.</BRM_GL_Segment>
<ReportCreatedTime>
<Year>2013</Year>
<Month>01</Month>
<Day>14</Day>
<Hours>16</Hours>
<Minutes>1</Minutes>
<Seconds>59</Seconds>
</ReportCreatedTime>
<PeriodStartTime>
<Year>2012</Year>
<Month>09</Month>
<Day>25</Day>
<Hours>0</Hours>
<Minutes>0</Minutes>
<Seconds>0</Seconds>
</PeriodStartTime>
<PeriodEndTime>
<Year>2012</Year>
<Month>09</Month>
<Day>26</Day>
<Hours>0</Hours>
<Minutes>0</Minutes>
<Seconds>0</Seconds>
</PeriodEndTime>
<SourceSystemID>Germany</SourceSystemID>
<ReportID>0.0.0.1-697031-1136</ReportID>
<RevenueType>Unbilled earned</RevenueType>
<BRM_GL_Segment>.</BRM_GL_Segment>
<ReportCreatedTime>
<Year>2013</Year>
<Month>01</Month>
<Day>14</Day>
<Hours>16</Hours>
<Minutes>2</Minutes>
<Seconds>3</Seconds>
</ReportCreatedTime>
<PeriodStartTime>
<Year>2012</Year>
<Month>10</Month>
<Day>15</Day>
<Hours>0</Hours>
<Minutes>0</Minutes>
<Seconds>0</Seconds>
</PeriodStartTime>
<PeriodEndTime>
<Year>2012</Year>
<Month>10</Month>
<Day>16</Day>
<Hours>0</Hours>
<Minutes>0</Minutes>
<Seconds>0</Seconds>
</PeriodEndTime>