2015-12-07 5 views
0

Я получил онлайн 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> 

Я хочу, чтобы получить теги antwoord с именем «Voornaam» и «ПИФ:» но я не могу заставить 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 !!

+0

«* Теперь я должен отфильтровать пустые теги ... *» Что пустые теги? –

+1

Когда вы нашли решение самостоятельно, вы должны отправить его как ответ и пометить его как принятый. Прежде всего, этот вопрос отмечен как «законченный», а второй вы можете получить значок [self-learner badge] (http://stackoverflow.com/help/badges/14/self-learner) – Shnugo

+0

Не все люди оставили реакцию, поэтому некоторые результаты (antwoord [@ name = 'Positieve ervaring:']) не содержат данных. Я бы хотел пропустить эти записи ... –

ответ

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> 

Теперь я должен отфильтровать пустые теги ...

Смежные вопросы