需要帮助!我刚开始学习xslt,在我的例子中,我不知道如何进行这种转换。
源XML
<?xml version="1.0" encoding="UTF-8"?>
<body xmlns:httpsca="http://www.ibm.com/xmlns/prod/websphere/http/sca/6.1.0" ...>
<tns:getRealEstateObjects>
<RequestElement>
<IdNumnet>30361100000000000034</IdNumnet>
<IdSelectFromDate></IdSelectFromDate>
</RequestElement>
</tns:getRealEstateObjects>
</body>目标XML
<?xml version="1.0" encoding="UTF-8"?>
<result xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:sa="http://www.ibm.com/xmlns/prod/websphere/j2ca/sap">
<IdNumnet>30361100000000000034</IdNumnet>
</result>生成的xslt,我想要编辑它
<xsl:output method="xml" encoding="UTF-8" indent="yes" xalan:indent-amount="2"/>
<xsl:strip-space elements="*"/>
<!-- The rule represents a custom mapping: "IdSelectFromDate" to "IdSelectFromDate". -->
<xsl:template name="IdSelectFromDateToIdSelectFromDate">
<xsl:param name="IdSelectFromDate"/>
<!-- ADD CUSTOM CODE HERE. -->
</xsl:template>
</xsl:stylesheet>发布于 2013-07-09 14:17:15
我不知道这个话题是否仍然活跃,但是你可以试着关注
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" encoding="UTF-8" indent="yes" />
<xsl:strip-space elements="*"/>
<xsl:template match="/">
<result xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:sa="http://www.ibm.com/xmlns/prod/websphere/j2ca/sap">
<xsl:apply-templates select="body/getRealEstateObjects/RequestElement" />
</result>
</xsl:template>
<xsl:template match="body/getRealEstateObjects/RequestElement">
<xsl:copy-of select="IdNumnet" />
<xsl:call-template name="IdSelectFromDateToIdSelectFromDate">
<xsl:with-param name="IdSelectFromDate" select="IdSelectFromDate" />
</xsl:call-template>
</xsl:template>
<!-- The rule represents a custom mapping: "IdSelectFromDate" to "IdSelectFromDate". -->
<xsl:template name="IdSelectFromDateToIdSelectFromDate">
<xsl:param name="IdSelectFromDate"/>
<xsl:choose>
<xsl:when test="normalize-space($IdSelectFromDate) = ''">
<xsl:comment>IdSelectFromDate is empty - do nothing</xsl:comment>
</xsl:when>
<xsl:otherwise>
<!-- Do something with IdSelectFromDate -->
<xsl:copy-of select="$IdSelectFromDate" />
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>我只是做了一些简化,不再纠结于名称空间等问题,但原则应该保持不变。
https://stackoverflow.com/questions/15109093
复制相似问题