Analysieren von XML mit XSLT in WordPress

Lesezeit: 2 Minuten

Ich versuche derzeit, externe XML-Dateien zu laden und sie mithilfe der XSL-Stylesheet-Datei in HTML zu analysieren. Ich verwende das Plugin XData Toolkit, um dies zu erreichen, und es funktioniert gut. Dieses Plugin erfordert jedoch, dass ich für jede XML-Datei eine neue Abfrage erstelle und den Shortcode zum Laden des Inhalts verwende. Da ich viele XML-Dateien habe, ist diese Methode für mich möglicherweise nicht sehr geeignet.

Gibt es eine Möglichkeit, den XML-Inhalt zu laden und ihn mit XSLT dynamisch auf einer Seite zu analysieren, indem ich einen Parameter (dh den XML-Dateinamen) übergebe?

Könnte ich es mit dem PHP-Skript XSLTProcessor machen? Kann ich ein PHP-Skript von einer Seite in WordPress aufrufen? Wenn ja, wo speichere ich das PHP-Skript? Vielleicht so etwas?

<?php

    // Load the XML source
    $xml = new DOMDocument;
    $xml->load('file.xml');

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

    // Configure the transformer
    $proc = new XSLTProcessor;
    $proc->importStyleSheet($xsl); // attach the xsl rules

    echo $proc->transformToXML($xml);

?>

Ich bin mit WordPress und PHP nicht sehr vertraut, daher sind Vorschläge willkommen. Zusätzliche Informationen: Pagelines Theme und WordPress 3.4.1 verwenden

WordPress hat einen eingebauten XML-Prozessor Das ist möglicherweise einfacher zu verwenden, wenn Ihr Endziel darin besteht, den Inhalt anzuzeigen.

Wenn es einfacher ist, ein PHP-Skript einzubinden, das Sie geschrieben haben, um die Feeds zu konvertieren oder eine Bibliothek zu importieren, können Sie das Skript in den Ordner des Themas (dh /wp-content/themes/pagelines/) legen und es mit aufrufen include_once:

include_once(get_template_directory().'/FILENAME.php');

Benutzer-Avatar
Siebe Jongebloed

Um einen Parameter (get) in einem PHP-Skript zu verwenden, verwenden Sie Folgendes:

$xmlFile = $_GET[‘xml-file’];

Und dann ändern Sie einfach Ihren Code in etwa so:

<?php

$xmlFile = $_GET['xml-file'];
$xmlDir="dirWithXmlFiles/";
$xmlUri  = $xmlDir . $xmlFile;

if(! file_exists($xmlUri)){
   echo 'some error';
   return;
}

// Load the XML source
$xml = new DOMDocument;
$xml->load($xmlUri);

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

// Configure the transformer
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl); // attach the xsl rules

echo $proc->transformToXML($xml);

Und wenn Sie dynamischen Inhalt hinzufügen müssen, können Sie dies tun, indem Sie entweder Parameter wie diesen übergeben:

$proc->setParam('someNameOfParameter', $someValueOfParameter); 

und verwenden Sie das in xslt, oder erstellen Sie eine xml-Datei mit dem Inhalt von $xmlUri und dem dynamischen Inhalt als xml.

1385050cookie-checkAnalysieren von XML mit XSLT in WordPress

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy