<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text" indent="yes"/>
<xsl:variable name="dt">
<xsl:text>|</xsl:text>
</xsl:variable>
<xsl:variable name="nl">
<xsl:text>
</xsl:text>
</xsl:variable>
<xsl:template match="/">
<xsl:for-each select="INVOIC02/IDOC/E1EDP01">
<!--check_MENGE_Value-->
<xsl:if test="MENGE != '0'">
<xsl:value-of select="$dt"/>
<xsl:for-each select="E1EDP26">
<xsl:choose>
<xsl:when test="QUALF='003'">
<xsl:value-of select="BETRG"/>
</xsl:when>
<xsl:otherwise>0</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
<xsl:value-of select="$dt"/>
<xsl:value-of select="$nl"/>
</xsl:if>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
嘿伙计们,我有这个xslt示例代码,如果是段E1EDP26-BETRG, QUALF = 003存在,获取值BETRG,否则替换为值0.
我的实际输出:
| 01203.0000000000 |
| 000000000 |
| 03376.5000000000 |
但我期待这个结果:
| 1203.00 |
| 0 |
| 3376.50 |
任何人都知道为什么它会在输出结果中添加9位零数字? 我的输入xml太长了(900行),因此我只是分享了与主题相关的部分内容。
<?xml version="1.0" encoding="UTF-8" ?>
<INVOIC02>
<IDOC BEGIN="1">
<EDI_DC40 SEGMENT="1">
</EDI_DC40>
<E1EDP01 SEGMENT="1">
<POSEX>000010</POSEX>
<MENGE>0</MENGE>
<GEWEI>KGM</GEWEI>
<PSTYV>ZTAN</PSTYV>
<WERKS>SG01</WERKS>
<E1EDP02 SEGMENT="1">
<QUALF>001</QUALF>
<BELNR>PO-SGH111890</BELNR>
<DATUM>20171025</DATUM>
</E1EDP02>
<E1EDP02 SEGMENT="1">
<QUALF>002</QUALF>
<BELNR>1800025089</BELNR>
<ZEILE>000010</ZEILE>
<DATUM>20171025</DATUM>
</E1EDP02>
<E1EDP02 SEGMENT="1">
<QUALF>016</QUALF>
<BELNR>0001012872</BELNR>
<ZEILE>000010</ZEILE>
<DATUM>20171026</DATUM>
</E1EDP02>
<E1EDP03 SEGMENT="1">
<IDDAT>029</IDDAT>
<DATUM>20171025</DATUM>
</E1EDP03>
<E1EDP03 SEGMENT="1">
<IDDAT>045</IDDAT>
<DATUM>00000000</DATUM>
</E1EDP03>
<E1EDP03 SEGMENT="1">
<IDDAT>001</IDDAT>
<DATUM>20171026</DATUM>
</E1EDP03>
<E1EDP03 SEGMENT="1">
<IDDAT>011</IDDAT>
<DATUM>20171025</DATUM>
</E1EDP03>
<E1EDP03 SEGMENT="1">
<IDDAT>025</IDDAT>
<DATUM>20171025</DATUM>
</E1EDP03>
<E1EDP03 SEGMENT="1">
<IDDAT>027</IDDAT>
<DATUM>20171025</DATUM>
</E1EDP03>
<E1EDP03 SEGMENT="1">
<IDDAT>023</IDDAT>
<DATUM>20171025</DATUM>
</E1EDP03>
<E1EDP03 SEGMENT="1">
<IDDAT>022</IDDAT>
<DATUM>20171025</DATUM>
</E1EDP03>
<E1EDP19 SEGMENT="1">
<QUALF>001</QUALF>
<IDTNR>CM-ZZ104</IDTNR>
</E1EDP19>
<E1EDP19 SEGMENT="1">
<QUALF>002</QUALF>
<IDTNR>000000000003617866</IDTNR>
<KTEXT>COMPOUND SODIUM LACTATE EP500 BMI/SIN</KTEXT>
</E1EDP19>
<E1EDP19 SEGMENT="1">
<QUALF>901</QUALF>
<IDTNR>3617866</IDTNR>
<KTEXT>COMPOUND SODIUM LACTATE EP500 BMI/SIN</KTEXT>
</E1EDP19>
<E1EDP19 SEGMENT="1">
<QUALF>003</QUALF>
<IDTNR>4030539908863</IDTNR>
</E1EDP19>
<E1EDP26 SEGMENT="1">
<QUALF>001</QUALF>
<BETRG>0</BETRG>
</E1EDP26>
<E1EDP26 SEGMENT="1">
<QUALF>002</QUALF>
<BETRG>0</BETRG>
</E1EDP26>
</E1EDP01>
<E1EDP01 SEGMENT="1">
<POSEX>000020</POSEX>
<MENGE>3.000</MENGE>
<MENEE>PCE</MENEE>
<NTGEW>1.800</NTGEW>
<GEWEI>KGM</GEWEI>
<BRGEW>1.800</BRGEW>
<PSTYV>ZTAN</PSTYV>
<WERKS>SG01</WERKS>
<E1EDP02 SEGMENT="1">
<QUALF>001</QUALF>
<BELNR>PO-SGH111890</BELNR>
<DATUM>20171025</DATUM>
</E1EDP02>
<E1EDP02 SEGMENT="1">
<QUALF>002</QUALF>
<BELNR>1800025089</BELNR>
<ZEILE>000010</ZEILE>
<DATUM>20171025</DATUM>
</E1EDP02>
<E1EDP02 SEGMENT="1">
<QUALF>016</QUALF>
<BELNR>0001012872</BELNR>
<ZEILE>900001</ZEILE>
<DATUM>20171026</DATUM>
</E1EDP02>
<E1EDP03 SEGMENT="1">
<IDDAT>029</IDDAT>
<DATUM>20171025</DATUM>
</E1EDP03>
<E1EDP03 SEGMENT="1">
<IDDAT>045</IDDAT>
<DATUM>20190430</DATUM>
</E1EDP03>
<E1EDP03 SEGMENT="1">
<IDDAT>001</IDDAT>
<DATUM>20171026</DATUM>
</E1EDP03>
<E1EDP03 SEGMENT="1">
<IDDAT>011</IDDAT>
<DATUM>20171025</DATUM>
</E1EDP03>
<E1EDP03 SEGMENT="1">
<IDDAT>025</IDDAT>
<DATUM>20171025</DATUM>
</E1EDP03>
<E1EDP03 SEGMENT="1">
<IDDAT>027</IDDAT>
<DATUM>20171025</DATUM>
</E1EDP03>
<E1EDP03 SEGMENT="1">
<IDDAT>023</IDDAT>
<DATUM>20171025</DATUM>
</E1EDP03>
<E1EDP03 SEGMENT="1">
<IDDAT>022</IDDAT>
<DATUM>20171025</DATUM>
</E1EDP03>
<E1EDP19 SEGMENT="1">
<QUALF>010</QUALF>
<IDTNR>0000067745</IDTNR>
</E1EDP19>
<E1EDP19 SEGMENT="1">
<QUALF>001</QUALF>
<IDTNR>CM-ZZ104</IDTNR>
</E1EDP19>
<E1EDP19 SEGMENT="1">
<QUALF>002</QUALF>
<IDTNR>000000000003617866</IDTNR>
<KTEXT>COMPOUND SODIUM LACTATE EP500 BMI/SIN</KTEXT>
</E1EDP19>
<E1EDP19 SEGMENT="1">
<QUALF>901</QUALF>
<IDTNR>3617866</IDTNR>
<KTEXT>COMPOUND SODIUM LACTATE EP500 BMI/SIN</KTEXT>
</E1EDP19>
<E1EDP19 SEGMENT="1">
<QUALF>003</QUALF>
<IDTNR>4030539908863</IDTNR>
</E1EDP19>
<E1EDP26 SEGMENT="1">
<QUALF>004</QUALF>
<BETRG>1203.00</BETRG>
</E1EDP26>
<E1EDP26 SEGMENT="1">
<QUALF>003</QUALF>
<BETRG>1203.00</BETRG>
</E1EDP26>
<E1EDP26 SEGMENT="1">
<QUALF>010</QUALF>
<BETRG>1203.00</BETRG>
</E1EDP26>
<E1EDP26 SEGMENT="1">
<QUALF>011</QUALF>
<BETRG>1203.00</BETRG>
</E1EDP26>
<E1EDP26 SEGMENT="1">
<QUALF>012</QUALF>
<BETRG>1203.00</BETRG>
</E1EDP26>
<E1EDP26 SEGMENT="1">
<QUALF>013</QUALF>
<BETRG>1203.00</BETRG>
</E1EDP26>
<E1EDP26 SEGMENT="1">
<QUALF>014</QUALF>
<BETRG>1203.00</BETRG>
</E1EDP26>
<E1EDP26 SEGMENT="1">
<QUALF>015</QUALF>
<BETRG>1203.00</BETRG>
</E1EDP26>
<E1EDP26 SEGMENT="1">
<QUALF>001</QUALF>
<BETRG>401.00</BETRG>
</E1EDP26>
<E1EDP26 SEGMENT="1">
<QUALF>002</QUALF>
<BETRG>1203.00</BETRG>
</E1EDP26>
</E1EDP01>
<E1EDP01 SEGMENT="1">
<POSEX>000030</POSEX>
<MENGE>7.000</MENGE>
<MENEE>PCE</MENEE>
<NTGEW>4.200</NTGEW>
<GEWEI>KGM</GEWEI>
<BRGEW>4.200</BRGEW>
<PSTYV>ZTAN</PSTYV>
<WERKS>SG01</WERKS>
<E1EDP02 SEGMENT="1">
<QUALF>001</QUALF>
<BELNR>PO-SGH111890</BELNR>
<DATUM>20171025</DATUM>
</E1EDP02>
<E1EDP02 SEGMENT="1">
<QUALF>002</QUALF>
<BELNR>1800025089</BELNR>
<ZEILE>000010</ZEILE>
<DATUM>20171025</DATUM>
</E1EDP02>
<E1EDP02 SEGMENT="1">
<QUALF>016</QUALF>
<BELNR>0001012872</BELNR>
<ZEILE>900002</ZEILE>
<DATUM>20171026</DATUM>
</E1EDP02>
<E1EDP03 SEGMENT="1">
<IDDAT>029</IDDAT>
<DATUM>20171025</DATUM>
</E1EDP03>
<E1EDP03 SEGMENT="1">
<IDDAT>045</IDDAT>
<DATUM>20190410</DATUM>
</E1EDP03>
<E1EDP03 SEGMENT="1">
<IDDAT>001</IDDAT>
<DATUM>20171026</DATUM>
</E1EDP03>
<E1EDP03 SEGMENT="1">
<IDDAT>011</IDDAT>
<DATUM>20171025</DATUM>
</E1EDP03>
<E1EDP03 SEGMENT="1">
<IDDAT>025</IDDAT>
<DATUM>20171025</DATUM>
</E1EDP03>
<E1EDP03 SEGMENT="1">
<IDDAT>027</IDDAT>
<DATUM>20171025</DATUM>
</E1EDP03>
<E1EDP03 SEGMENT="1">
<IDDAT>023</IDDAT>
<DATUM>20171025</DATUM>
</E1EDP03>
<E1EDP03 SEGMENT="1">
<IDDAT>022</IDDAT>
<DATUM>20171025</DATUM>
</E1EDP03>
<E1EDP19 SEGMENT="1">
<QUALF>010</QUALF>
<IDTNR>CEL12345</IDTNR>
</E1EDP19>
<E1EDP19 SEGMENT="1">
<QUALF>001</QUALF>
<IDTNR>CM-ZZ104</IDTNR>
</E1EDP19>
<E1EDP19 SEGMENT="1">
<QUALF>002</QUALF>
<IDTNR>000000000003617866</IDTNR>
<KTEXT>COMPOUND SODIUM LACTATE EP500 BMI/SIN</KTEXT>
</E1EDP19>
<E1EDP19 SEGMENT="1">
<QUALF>901</QUALF>
<IDTNR>3617866</IDTNR>
<KTEXT>COMPOUND SODIUM LACTATE EP500 BMI/SIN</KTEXT>
</E1EDP19>
<E1EDP19 SEGMENT="1">
<QUALF>003</QUALF>
<IDTNR>4030539908863</IDTNR>
</E1EDP19>
<E1EDP26 SEGMENT="1">
<QUALF>004</QUALF>
<BETRG>2807.00</BETRG>
</E1EDP26>
<E1EDP26 SEGMENT="1">
<QUALF>010</QUALF>
<BETRG>2807.00</BETRG>
</E1EDP26>
<E1EDP26 SEGMENT="1">
<QUALF>011</QUALF>
<BETRG>2807.00</BETRG>
</E1EDP26>
<E1EDP26 SEGMENT="1">
<QUALF>012</QUALF>
<BETRG>2807.00</BETRG>
</E1EDP26>
<E1EDP26 SEGMENT="1">
<QUALF>013</QUALF>
<BETRG>2807.00</BETRG>
</E1EDP26>
<E1EDP26 SEGMENT="1">
<QUALF>014</QUALF>
<BETRG>2807.00</BETRG>
</E1EDP26>
<E1EDP26 SEGMENT="1">
<QUALF>015</QUALF>
<BETRG>2807.00</BETRG>
</E1EDP26>
<E1EDP26 SEGMENT="1">
<QUALF>001</QUALF>
<BETRG>401.00</BETRG>
</E1EDP26>
<E1EDP26 SEGMENT="1">
<QUALF>002</QUALF>
<BETRG>2807.00</BETRG>
</E1EDP26>
</E1EDP01>
<E1EDP01 SEGMENT="1">
<POSEX>000040</POSEX>
<MENGE>15.000</MENGE>
<MENEE>PCE</MENEE>
<NTGEW>0.615</NTGEW>
<GEWEI>KGM</GEWEI>
<BRGEW>0.615</BRGEW>
<PSTYV>ZTAN</PSTYV>
<WERKS>SG01</WERKS>
<E1EDP02 SEGMENT="1">
<QUALF>001</QUALF>
<BELNR>PO-SGH111890</BELNR>
<DATUM>20171025</DATUM>
</E1EDP02>
<E1EDP02 SEGMENT="1">
<QUALF>002</QUALF>
<BELNR>1800025089</BELNR>
<ZEILE>000020</ZEILE>
<DATUM>20171025</DATUM>
</E1EDP02>
<E1EDP02 SEGMENT="1">
<QUALF>016</QUALF>
<BELNR>0001012872</BELNR>
<ZEILE>000020</ZEILE>
<DATUM>20171026</DATUM>
</E1EDP02>
<E1EDP03 SEGMENT="1">
<IDDAT>029</IDDAT>
<DATUM>20171025</DATUM>
</E1EDP03>
<E1EDP03 SEGMENT="1">
<IDDAT>045</IDDAT>
<DATUM>20180131</DATUM>
</E1EDP03>
<E1EDP03 SEGMENT="1">
<IDDAT>001</IDDAT>
<DATUM>20171026</DATUM>
</E1EDP03>
<E1EDP03 SEGMENT="1">
<IDDAT>011</IDDAT>
<DATUM>20171025</DATUM>
</E1EDP03>
<E1EDP03 SEGMENT="1">
<IDDAT>025</IDDAT>
<DATUM>20171025</DATUM>
</E1EDP03>
<E1EDP03 SEGMENT="1">
<IDDAT>027</IDDAT>
<DATUM>20171025</DATUM>
</E1EDP03>
<E1EDP03 SEGMENT="1">
<IDDAT>023</IDDAT>
<DATUM>20171025</DATUM>
</E1EDP03>
<E1EDP03 SEGMENT="1">
<IDDAT>022</IDDAT>
<DATUM>20171025</DATUM>
</E1EDP03>
<E1EDP19 SEGMENT="1">
<QUALF>010</QUALF>
<IDTNR>0I13230E13</IDTNR>
</E1EDP19>
<E1EDP19 SEGMENT="1">
<QUALF>001</QUALF>
<IDTNR>CM-ZZ123</IDTNR>
</E1EDP19>
<E1EDP19 SEGMENT="1">
<QUALF>002</QUALF>
<IDTNR>000000000004160266</IDTNR>
<KTEXT>CERTOFIX MONO V320</KTEXT>
</E1EDP19>
<E1EDP19 SEGMENT="1">
<QUALF>901</QUALF>
<IDTNR>4160266</IDTNR>
<KTEXT>CERTOFIX MONO V320</KTEXT>
</E1EDP19>
<E1EDP19 SEGMENT="1">
<QUALF>003</QUALF>
<IDTNR>4022495020109</IDTNR>
</E1EDP19>
<E1EDP26 SEGMENT="1">
<QUALF>004</QUALF>
<BETRG>3376.50</BETRG>
</E1EDP26>
<E1EDP26 SEGMENT="1">
<QUALF>003</QUALF>
<BETRG>3376.50</BETRG>
</E1EDP26>
<E1EDP26 SEGMENT="1">
<QUALF>010</QUALF>
<BETRG>3376.50</BETRG>
</E1EDP26>
<E1EDP26 SEGMENT="1">
<QUALF>011</QUALF>
<BETRG>3376.50</BETRG>
</E1EDP26>
<E1EDP26 SEGMENT="1">
<QUALF>012</QUALF>
<BETRG>3376.50</BETRG>
</E1EDP26>
<E1EDP26 SEGMENT="1">
<QUALF>013</QUALF>
<BETRG>3376.50</BETRG>
</E1EDP26>
<E1EDP26 SEGMENT="1">
<QUALF>014</QUALF>
<BETRG>3376.50</BETRG>
</E1EDP26>
<E1EDP26 SEGMENT="1">
<QUALF>015</QUALF>
<BETRG>3376.50</BETRG>
</E1EDP26>
<E1EDP26 SEGMENT="1">
<QUALF>001</QUALF>
<BETRG>225.10</BETRG>
</E1EDP26>
<E1EDP26 SEGMENT="1">
<QUALF>002</QUALF>
<BETRG>3376.50</BETRG>
</E1EDP26>
</E1EDP01>
</IDOC>
</INVOIC02>
我刚刚添加了一个简化的xslt和source xml。