下面是xml文件,xpath将在xsl文件中用于框架和使用。
<response>
<RetrieveUserResponseDTO>
<mob />
<idCustomer />
<requestId />
<idChannel />
<userType />
<idUser />
<idChannelUser>123</idChannelUser>
<idChannelUser>234</idChannelUser>
<idChannelUser>1245</idChannelUser>
等
以下是Java String数组
l_resp.idChannelUser = new String[3];
以下是xsl代码
<xsl:for-each select="faml/response/retrieveuserresponsedto/idchanneluser">
<tr>
<td class="warning" width="75%">
<xsl:value-of select="faml/response/retrieveuserresponsedto/idchanneluser"></xsl:value-of>
</td>
</tr>
</xsl:for-each>
答案 0 :(得分:1)
忽略关于Java数组的一点,并只关注XSLT转换XML,有两个问题,两个注意事项
retrieveuserresponsedto
与XML中的RetrieveUserResponseDTO
不匹配(且idchanneluser
与idChannelUser
不匹配)xsl:for-each
语句旁边,您将被定位在idChannelUser
元素上,因此您获取值的XPath需要相对于该值。尝试使用此XSLT :(如果XML中确实存在该元素,则可能需要在XPath的开头添加faml
元素)
<xsl:for-each select="response/RetrieveUserResponseDTO/idChannelUser">
<tr>
<td class="warning" width="75%">
<xsl:value-of select="." />
</td>
</tr>
</xsl:for-each>