Wie konvertieren von XML, XSL
Ich versuche zum konvertieren einer xml-Datei, xslt -
Meine xml Datei ist wie diese,
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="testxsl.xsl"?>
<doc>
<test>
<field name="id">c8b102</field>
<field name="created_at">2013-11-14T00:00:00Z</field>
<field name="userid">userfirst</field>
<field name="screenname">userfirst</field>
<field name="status">open</field>
<field name="contents">testing content</field>
<field name="sentiment">positive</field>
<field name="location">placename</field>
<field name="source">local</field>
<field name="url">test</field>
<field name="keyword">test</field>
</test>
<test>
<field name="id">c8b102</field>
<field name="created_at">2013-11-14T00:00:00Z</field>
<field name="userid">usersec</field>
<field name="screenname">usersec</field>
<field name="status">close</field>
<field name="contents">test sec</field>
<field name="sentiment">positive</field>
<field name="location">place</field>
<field name="source">local</field>
<field name="url">test</field>
<field name="keyword">test</field>
</test>
</doc>
Ich geschrieben habe, eine xsl-code(testxsl.xsl) zur transformation
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<h2>Complaints</h2>
<table border="1">
<tr bgcolor="#9acd32">
<th>Created Date</th>
<th>UserID</th>
<th>Screenname</th>
<th>Status</th>
<th>Contents</th>
<th>Source</th>
<th>URL</th>
</tr>
<xsl:for-each select="doc/test">
<tr>
<td>
<xsl:value-of select="date" />
</td>
<td>
<xsl:value-of select="str[@name = 'userid']" />
</td>
<td>
<xsl:value-of select="str[@name='screenname']" />
</td>
<td>
<xsl:value-of select="str[@name='status']" />
</td>
<td>
<xsl:value-of select="str[@name='contents']" />
</td>
<td>
<xsl:value-of select="str[@name='source']" />
</td>
<td>
<xsl:value-of select="str[@name='url']" />
</td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Aber ich bin immer nur Teil der Kopfzeile in der Ausgabe mit den Grenzen und allen wie unten
Created Date UserID Screenname Status Contents Source URL
Ich weiß nicht, was das problem ist, meine xsl-Datei scheint korrekt zu sein
InformationsquelleAutor user3136030 | 2014-02-03
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es kein element namens
date
in Ihrer XML-Eingabe. Ebenso werden die Elemente innerhalbtest
sind nicht genanntstr
, aberfield
.Ihre XSLT-code muss natürlich entsprechen die Elemente in Ihrer XML-Eingabe.
Verwenden Sie die folgende stylesheet:
Ausgabe
Gerenderten HTML
InformationsquelleAutor Mathias Müller