Wir haben Input XML. Wir versuchen, solche Elemente zu entfernen, die leere und nicht leere Werte haben. wir haben <Item>
als wiederholtes Element. <TermsCode>
hat leere und nicht leere Werte für wiederholte Artikel.XSLT: Überprüfen Sie, ob der Wert leer ist, und entfernen Sie dann das Tag
Wir müssen solche <TermsCode>
leeren Tag nach dem Einchecken XSLT entfernen, wenn es leer ist. oder wenn es Wert hat, sollte es das Tag behalten. In ähnlicher Weise versuchen wir, für jedes Element zu schreiben, das in Elementknoten involviert ist. Wenn es leer ist, entfernen Sie es. Wenn nicht, sollte das Tag in Ausgabe-XML beibehalten werden.
INPUT XML
<?xml version="1.0" encoding="UTF-8"?>
<SetupArCustomer>
<Item>
<Key>
<Customer>0039069</Customer>
</Key>
<Name>ABC SOLUTIONS LLC</Name>
<CreditLimit>0.0</CreditLimit>
<PriceCode>WH</PriceCode>
<Branch>NY</Branch>
<TermsCode>00</TermsCode>
</Item>
<Item>
<Key>
<Customer>0039070</Customer>
</Key>
<Name>CCD WHOLESALE NY INC.</Name>
<CreditLimit>0.0</CreditLimit>
<PriceCode>HY</PriceCode>
<Branch>NY</Branch>
<TermsCode/>
</Item>
</SetupArCustomer>
TRIED XSLT2.0
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
<xsl:output method="xml" encoding="Windows-1252" indent="yes" />
<xsl:template xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" match="@xsi:nil[.='true']" />
<xsl:template match="@*|node()">
<xsl:copy copy-namespaces="no">
<xsl:apply-templates select="@*|node()" />
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
Erwartete Ausgabe
<?xml version="1.0" encoding="UTF-8"?>
<SetupArCustomer>
<Item>
<Key>
<Customer>0039069</Customer>
</Key>
<Name>ABC SOLUTIONS LLC</Name>
<CreditLimit>0.0</CreditLimit>
<PriceCode>WH</PriceCode>
<Branch>NY</Branch>
<TermsCode>00</TermsCode>
</Item>
<Item>
<Key>
<Customer>0039070</Customer>
</Key>
<Name>CCD WHOLESALE NY INC.</Name>
<CreditLimit>0.0</CreditLimit>
<PriceCode>HY</PriceCode>
<Branch>NY</Branch>
</Item>
</SetupArCustomer>
Dank. Ich habe auf env angewendet. es funktioniert für uns. –
NEO