0

次の石鹸の応答があります。ここで、null 値を適切な値に置き換えたいと思います。どうすれば達成できますか?

       <?xml version='1.0' encoding='utf-8'?>
            <soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soapenvelope">
                  <soapenv:Body>
                    <Entries xmlns="http://ws.wso2.org/dataservice">
                       <Entry>
                             <empId>xxx</empId>
                             <empName>yyy</empName>
                             <allocatedDesk>null</allocatedDesk>
                       </Entry>
                    </Entries>
                   </soapenv:Body>
            </soapenv:Envelope>
4

1 に答える 1

0

XSLT を使用して「null」を置き換えることができます。

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xpath-default-namespace="http://ws.wso2.org/dataservice" version="2.0">
    <xsl:output method="xml" encoding="utf-8" indent="yes"/>

    <xsl:template match="/soapenv:*">
        <xsl:copy>
            <xsl:apply-templates/>
        </xsl:copy>
    </xsl:template>

    <xsl:template match="allocatedDesk[text()='null']">
        <xsl:copy>
            <xsl:value-of select="'YOUR DESIRED TEXT'"/>
        </xsl:copy>
    </xsl:template>

    <xsl:template match="*|node()|@*">
        <!-- copy all elements -->
        <xsl:copy>
            <xsl:apply-templates/>
        </xsl:copy>
    </xsl:template>

</xsl:stylesheet>

xslt メディエーターは、WSO2 の MessageContext に XSLT を適用するために使用されています。ドキュメントを参照してください: http://wso2.org/project/esb/java/3.0.1/docs/mediators/xslt.html

于 2012-08-23T12:26:14.760 に答える