ERLEDIGT
JA
JA
ANTWORTEN
1
1
ZUGRIFFE
1197
1197
EMPFEHLEN
-
Versuche gerade eine xml per XSL umzuformatieren.
Die Struktur der der XML ist aus Wordpress ist von oben so:
-------
rss
- channel
- title
...
- item (Je Artikel)
....
- postmeta (Benutzerdefinierte Felder)
- meta_key (Name des Benutzerdefinierten Feldes)
- meta_value (Inhalt des Benutzerdefinerten Feldes)
sehr viele postmetas ...
- item
...
------------
Was ich jetzt vor habe, das ich jeden Artikel als extra xml Tag habe und das die vielen Benutzerdefinierten Felder (postmeta) in Benutzerdefinierte Tags gewandelt werden.
Was ich jetzt versucht habe war folgendes:
Aber sobald ich die "for-each" Schleife drin hab möchte er nicht mehr...PHP-Code:<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version = "2.0"
xmlns:n1="http://www.w3.org"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:excerpt="http://wordpress.org/export/1.1/excerpt/"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:wp="http://wordpress.org/export/1.1/"
xmlns:pubDate="Wed, 02 Dec 2009 22:58:22 +0000">
<xsl:output method="xml" version="1.0" encoding = "UTF-8" indent="yes"/>
<xsl:template match="/">
<xsl:element name = "root">
<xsl:apply-templates select="rss/channel/item"/></xsl:element>
</xsl:template>
<xsl:template match="item">
<xsl:element name = "Artikel">
<xsl:element name = "vs">
<xsl:element name = "titel"><xsl:value-of select="title"/></xsl:element>
<xsl:element name = "test"><xsl:value-of select="category"/></xsl:element>
<xsl:for-each select="postmeta">
<xsl:element name = "benutzerdef1"><xsl:if test="postmeta/meta_key/@text()='benutzerdef1'"><xsl:value-of select="postmeta/meta_value/text()"/></xsl:if></xsl:element>
<xsl:element name = "benutzerdef2"><xsl:if test="postmeta/meta_key/@text()='benutzerdef2'"><xsl:value-of select="postmeta/meta_value/text()"/></xsl:if></xsl:element>
</xsl:for-each>
</xsl:element>
</xsl:element>
</xsl:template>
</xsl:stylesheet>>
Wo liegt da mein Fehler?
Hat mir jemand einen Tip?
Er muss jetzt eigentlich im Feld metakey schauen, ob da "Benutzerdef1" drin steht, wenn ja, dann gib das jeweilige Feld aus...
Wie würdet Ihr das machen?
Ich will von
zu diesem kommenPHP-Code:<wp:postmeta>
<wp:meta_key>Benuterdefiniert1</wp:meta_key>
<wp:meta_value>In Wordpress defineirter Wert</wp:meta_value>
</wp:postmeta>
PHP-Code:<Benuterdefiniert1>In Wordpress defineirter Wert</Benuterdefiniert1>
Geändert von Clause (23.07.11 um 10:32 Uhr)
-
OK, ich habe nach einigem rumprobieren eine Lösung gefunden.
PHP-Code:<!-- Zuerst habe ich eine Variable definiert mit dem Abzufragenden Ergebnis -->
<xsl:variable name="WasSuchen" select="'BenutzerdefiniertesFeld1'" />
<!-- Dann eine Schleife um das "wp:postmeta" -->
<xsl:for-each select="wp:postmeta">
<xsl:if test="$WasSuchen = wp:meta_key/text()">
<xsl:element name = "BenutzerdefiniertesFeld1">
<xsl:value-of select="wp:meta_value/text()"/>
</xsl:element>
</xsl:if>
</xsl:for-each>
Ähnliche Themen
-
Microsoft Outlook, Mails holen und dann vom anderen Rechner
Von Schumiel im Forum Office-AnwendungenAntworten: 1Letzter Beitrag: 23.03.10, 21:52 -
2 Abfragen aus 2 tabellen und dann in einer wieder geben?
Von harderph im Forum Relationale DatenbanksystemeAntworten: 1Letzter Beitrag: 28.01.08, 22:04 -
Nur eine einzige Seite und Inhalt durch Abfragen ausgeben
Von 2Pac im Forum PHPAntworten: 3Letzter Beitrag: 08.05.05, 17:10 -
Spalte mit ids, und wenn id dabei dann abfragen
Von ddhb im Forum PHPAntworten: 2Letzter Beitrag: 01.10.04, 21:24 -
Wenn id = 0 dann in anderen Tabellen löschen
Von Mimolino im Forum Relationale DatenbanksystemeAntworten: 1Letzter Beitrag: 29.03.04, 08:47





Zitieren
Login





