0
我想轉換此SOAP響應簡單的HTML:變換SOAP到HTML使用XSLT
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<Players xmlns="http://ws.wso2.org/dataservice">
<Player>
<name>ATP</name>
<ranking>1</ranking>
<first_name>Novak</first_name>
<last_name>Djokovic</last_name>
<country>RS</country>
<email>[email protected]</email>
</Player>
<Player>
<name>ATP</name>
<ranking>2</ranking>
<first_name>Andy</first_name>
<last_name>Murray</last_name>
<country>GB</country>
<email>[email protected]</email>
</Player>
<Player>
<name>ATP</name>
<ranking>3</ranking>
<first_name>Viktor</first_name>
<last_name>Troicki</last_name>
<country>US</country>
<email>[email protected]</email>
</Player>
</Players>
</soapenv:Body>
</soapenv:Envelope>
這是我的XSLT:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:p="http://ws.wso2.org/dataservice"
exclude-result-prefixes="p">
<xsl:template match="/">
<html>
<body>
<h2>PLAYER RANKINGS</h2>
<table border="1">
<tr bgcolor="#9acd32">
<th style="text-align:left">Ranking</th>
<th style="text-align:left">First Name</th>
<th style="text-align:left">Last Name</th>
<th style="text-align:left">Country</th>
</tr>
<xsl:for-each select="//p:Players/Player">
<tr>
<td><xsl:value-of select="p:ranking"/></td>
<td><xsl:value-of select="p:first_name"/></td>
<td><xsl:value-of select="p:last_name"/></td>
<td><xsl:value-of select="p:country"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
我 「玩」 這個簡單任務很長時間,但無法使其與for-loop中的選擇表達式匹配。
我嘗試使用和不使用命名空間,但沒有運氣。