Leser: 1
![]() |
![]() |
5 Einträge, 1 Seite |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?xml version="1.0" encoding="UTF-8"?>
<XML>
<LINE>
<VAR NAME="1" MACROON="smallon" COL="5" LENGTH="11">23012349697</VAR>
<VAR NAME="2" COL="18" LENGTH="3">GB</VAR>
<VAR NAME="3" COL="25" LENGTH="6">1111</VAR>
<VAR NAME="4" COL="32" LENGTH="15">NC 16.0%</VAR>
<VAR NAME="5" COL="49" LENGTH="8" JUSTIFICATION="right">17.60</VAR>
<VAR NAME="6" COL="60" LENGTH="4" JUSTIFICATION="right">16.0</VAR>
<TEXT COL="64">%</TEXT>
<VAR NAME="7" COL="70" LENGTH="10" JUSTIFICATION="right">0.00</VAR>
<VAR NAME="8" COL="87" LENGTH="7" JUSTIFICATION="right">9.50</VAR>
<VAR NAME="9" COL="100" LENGTH="7" JUSTIFICATION="right">0.00</VAR>
<VAR NAME="0" MACROOFF="smalloff" COL="111" LENGTH="10" JUSTIFICATION="right">9.50</VAR>
</LINE>
<LINE></LINE>
<LINE>
<VAR NAME="1" MACROON="smallon" COL="5" LENGTH="11">23981239687</VAR>
<VAR NAME="2" COL="18" LENGTH="3">A</VAR>
<VAR NAME="3" COL="25" LENGTH="6">8410</VAR>
<VAR NAME="4" COL="32" LENGTH="15">NC 16.0%</VAR>
<VAR NAME="5" COL="49" LENGTH="8" JUSTIFICATION="right">19.15</VAR>
<VAR NAME="6" COL="60" LENGTH="4" JUSTIFICATION="right">16.0</VAR>
<TEXT COL="64">%</TEXT>
<VAR NAME="7" COL="70" LENGTH="10" JUSTIFICATION="right">0.00</VAR>
<VAR NAME="8" COL="87" LENGTH="7" JUSTIFICATION="right">9.20</VAR>
<VAR NAME="9" COL="100" LENGTH="7" JUSTIFICATION="right">0.00</VAR>
<VAR NAME="0" MACROOFF="smalloff" COL="111" LENGTH="10" JUSTIFICATION="right">9.20</VAR>
</LINE>
<LINE></LINE>
</XML>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text" encoding="iso-8859-1"/>
<xsl:strip-space elements="*" />
<xsl:template match="/">
<xsl:apply-templates select="/XML/LINE"/>
</xsl:template>
<xsl:template match="/XML/LINE">
<xsl:variable name="anz_var" select="count(child::VAR)" />
<xsl:if test="$anz_var = 10">
<xsl:for-each select="VAR">
<xsl:if test="position() != last()"><xsl:value-of select="normalize-space(.)"/>;</xsl:if>
<xsl:if test="position() = last()"><xsl:value-of select="normalize-space(.)"/><xsl:text>
</xsl:text></xsl:if>
</xsl:for-each>
</xsl:if>
</xsl:template>
</xsl:stylesheet>
1
2
23012349697;GB;1111;NC 16.0%;17.60;16.0;0.00;9.50;0.00;9.50
23981239687;A;8410;NC 16.0%;19.15;16.0;0.00;9.20;0.00;9.20
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
my $xmlfile = "1.xml";
my $xslfile = "1.xsl";
use XML::LibXSLT;
use XML::LibXML;
print "start\n";
my $parser = XML::LibXML->new();
my $xslt = XML::LibXSLT->new();
my $source = $parser->parse_file($xmlfile);
my $style_doc = $parser->parse_file($xslfile);
my $stylesheet = $xslt->parse_stylesheet($style_doc);
my $results = $stylesheet->transform($source);
print $stylesheet->output_string($results);
print "\nstop\n";
<?xml version="1.0" encoding="iso8859-1"?>
<?xml version="1.0" encoding="iso-8859-1"?>
1
2
3
4
5
6
use Tie::File;
my $file = '/pfad/zu/datei';
tie my @array,'Tie::File',$file or die $!;
$array[0] = "neue erste Zeile\n";
untie @array;
![]() |
![]() |
5 Einträge, 1 Seite |