使用XML的XSLT代码

时间:2015-12-07 12:46:36

标签: xml xslt

我有一个在线XML文件,如下所示:

<?xml version="1.0"?>
<klantenvertellen>
    <statistieken>
        <gemiddelde>8,7</gemiddelde>
        <aantalbeoordelingen>93</aantalbeoordelingen>
        <percentageaanbeveling>100</percentageaanbeveling>
        <gemiddelden>
            <cijfer name="Totaal oordeel">8,6</cijfer>
            <cijfer name="Prijs">7,7</cijfer>
            <cijfer name="Kwaliteit">8,7</cijfer>
        </gemiddelden>
    </statistieken>
    <resultaten>
        <resultaat>
            <antwoord name="datum">02-12-2015</antwoord>
            <antwoord name="Voornaam">
                <![CDATA[Marja]]>
            </antwoord>
            <antwoord name="uit:">
                <![CDATA[Eindhoven]]>
            </antwoord>
            <antwoord name="Aanbeveling:">
                <![CDATA[ja]]>
            </antwoord>
            <antwoord name="Positieve ervaring:">
                <![CDATA[afspraak keurig nagekomen]]>
            </antwoord>
            <antwoord name="Totaal oordeel">8,0</antwoord>
        </resultaat>
        <resultaat>
            <antwoord name="datum">16-11-2015</antwoord>
            <antwoord name="Voornaam">
                <![CDATA[Erik]]>
            </antwoord>
            <antwoord name="uit:">
                <![CDATA[Rotterdam]]>
            </antwoord>
            <antwoord name="Aanbeveling:">
                <![CDATA[ja]]>
            </antwoord>
            <antwoord name="Totaal oordeel">9,0</antwoord>
        </resultaat>
        <resultaat>
            <antwoord name="datum">13-11-2015</antwoord>
            <antwoord name="Voornaam">
                <![CDATA[Aad]]>
            </antwoord>
            <antwoord name="uit:">
                <![CDATA[Schiedam]]>
            </antwoord>
            <antwoord name="Aanbeveling:">
                <![CDATA[ja]]>
            </antwoord>
            <antwoord name="Positieve ervaring:">
                <![CDATA[Keurig op tijd, netjes alles ingepakt, prima personeel.<br />
                    PERFECT.Het is de prijs zeker waard!]]>
            </antwoord>
            <antwoord name="Negatieve ervaring:">
                <![CDATA[Helaas staat mijn electrisch bedienbaar bed achterstevoren!!!<br />
                    Als ik wil lezen moet in aan het voeteneind gaan liggen!!!<br />
                    Hoe krijg ik dat zware bed omgedraaid in mijn eentje??]]>
            </antwoord>
            <antwoord name="Totaal oordeel">8,0</antwoord>
        </resultaat>
    </resultaten>
</klantenvertellen>

我想要使用名称​​'Voornaam''uit:'检索标记 antwoord 但我无法获取XSLT文件。 例如,我试过这个,但这也行不通:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
  <html>
  <body>
    <table border="1">
      <tr bgcolor="#9acd32">
        <th style="text-align:left">Voornaam</th>
        <th style="text-align:left">uit:</th>
      </tr>
      <xsl:for-each select="klantenvertellen/resultaten/resultaat">
      <tr>
        <td><xsl:value-of select="klantenvertellen/resultaten/resultaat/antwoord[name='Voornaam']"/></td>
        <td><xsl:value-of select="klantenvertellen/resultaten/resultaat/antwoord[name='uit:']"/></td>
      </tr>
      </xsl:for-each>
    </table>
  </body>
  </html>
</xsl:template>
</xsl:stylesheet>

Heeeeelp !!

1 个答案:

答案 0 :(得分:0)

我想我找到了一些东西。这似乎工作正常:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
  <html>
  <body>
    <table border="1">
      <tr bgcolor="#9acd32">
        <th style="text-align:left">Datum</th>
        <th style="text-align:left">Voornaam</th>
        <th style="text-align:left">uit:</th>
        <th style="text-align:left">Reactie</th>
      </tr>
      <xsl:for-each select="klantenvertellen/resultaten/resultaat">
      <tr>
        <td><xsl:value-of select="antwoord[@name='datum']"/></td>
        <td><xsl:value-of select="antwoord[@name='Voornaam']"/></td>
        <td><xsl:value-of select="antwoord[@name='uit:']"/></td>
        <td><xsl:value-of select="antwoord[@name='Positieve ervaring:']"/></td>
      </tr>
      </xsl:for-each>
    </table>
  </body>
  </html>
</xsl:template>
</xsl:stylesheet>

现在我必须过滤掉空标签......