Brauche dringend hilfe bei XML

vienna1

Grünschnabel
Hallo
Ich würde gerne folgenden link mittels einer php Seite auf meiner Webseite anzeigen lassen.

Code:
http://api.eve-central.com/api/marketstat?&typeid=34&regionlimit=10000002

Ich benutze simpleXML auf meinem Webserver.

Kann mir wer weiterhelfen ?

Danke
 
Willkommen bei tutorials.de :)

Was hat denn das mit SimpleXML zu tun?

Du musst doch nur den Link
HTML:
<a href="http://api.eve-central.com/api/marketstat?&typeid=34&regionlimit=10000002">...Text...</a>
mittels echo ausgeben.
Wobei ich das eigentlich gleich als normales HTML schreiben würde, solange sich nichts verändert.

Oder willst du nicht den Link, sondern Inhalt der Seite anzeigen?

Gruß
 
Code:
$xml = simplexml_load_file('http://api.eve-central.com/api/marketstat?&typeid=34&regionlimit=10000002');
    echo $xml->asXML();

Müsstest das Ganze natürlich vor der Ausgabe noch in ein HTML-kompatibles Format bringen, denn das Ziel ist keine (HTML)-Seite sondern ein XML-Dokument.
 
Vielen dank für die Antwort.

Code:
<?php
$xml = simplexml_load_file('http://api.eve-central.com/api/marketstat?&typeid=34&regionlimit=10000002');
    echo $xml->asXML();
?>

Funktioniert soweit schon.
Nur wie kann ich die Wert so wie in der XML geordnet untereinander anzeigen lassen ?

Hier der Link zum Dev-Bereich
http://eve-central.com/home/develop.html#xml
 
Zuletzt bearbeitet:
In der XML steht nichts geordnet, das ist schlicht die Dokumentstruktur, die man da sieht.

Je nach Browser sollte dort auch etwas stehen a'la "This document had no style information".

Um es also strukturiert darzustellen, brauchst du ein Stylesheet(XSLT), womit man das ganze transformieren kann.
Wie und ob das transformieren mittels simpleXML geht, ist mir momentan nicht bekannt, per DOM ginge es so:

Code:
<?php
$xml = new DOMDocument;
$xml->load('http://api.eve-central.com/api/marketstat?&typeid=34&regionlimit=10000002');

$xsl = new DOMDocument;
$xsl->load('xsl.xsl');

$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl); // XSL Document importieren

echo $proc->transformToDoc($xml)->saveXML();
?>

Das dort benutzte Stylesheet könnte bspw. so aussehen:

Code:
<?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="/">
 <table border="1">
  <thead>
   <tr><th> </th><th>volume</th><th>avg</th><th>max</th><th>min</th><th>stddev</th><th>median</th><th>percentile</th></tr>
  </thead>
  <tbody>
    <xsl:apply-templates />
  </tbody>
 </table>
</xsl:template>

<xsl:template match="/evec_api"> 
  <xsl:apply-templates />
</xsl:template>

<xsl:template match="/evec_api/marketstat">
  <xsl:apply-templates />
</xsl:template>

<xsl:template match="/evec_api/marketstat/type">
  <tr><th colspan="8">ID:<xsl:value-of select="@id"/></th></tr>
    <xsl:apply-templates />
</xsl:template>

<xsl:template match="/evec_api/marketstat/type/*">
  <tr><th><xsl:value-of select="name()"/></th><xsl:apply-templates /></tr>
</xsl:template>

<xsl:template match="/evec_api/marketstat/type/*/*">
  <td><xsl:value-of select="."/></td>
</xsl:template>

</xsl:stylesheet>

(als xsl.xsl im selben Verzeichnis speichern wo auch das PHP-Skript liegt, Ausgabe ist eine Tabelle mit allen Daten aus der XML)

Infos zu XSL findest du bei SelfHTML: http://de.selfhtml.org/xml/darstellung/xsltelemente.htm
 

Neue Beiträge

Zurück