Heim > Backend-Entwicklung > PHP-Tutorial > Laravel gibt XML-Daten aus, PHP gibt Daten im XML-Format aus

Laravel gibt XML-Daten aus, PHP gibt Daten im XML-Format aus

藏色散人
Freigeben: 2023-04-08 08:26:02
nach vorne
3437 Leute haben es durchsucht

Hintergrund:

SEO-Kollegen möchten Daten im XML-Format stapelweise an Suchmaschinen übermitteln. Das aktuelle Projekt wird mit dem Laravel-Framework entwickelt, daher ist dieser Artikel entstanden. Es gibt viele Beispiele für die PHP-Ausgabe im XML-Format. Es ist kein Problem, es einfach in das Laravel-Framework zu verschieben ist die Header-Header-Frage.

Wie gibt das Laravel-Framework Daten im XML-Format zurück?

Wenn Sie header(„Content-type: text/xml“);

verwenden, hat dies keine Auswirkung und es wird ein Fehler wie dieser angezeigt:

Diese Seite enthält die folgenden Fehler:

Fehler in Zeile 14 in Spalte 6: XML-Deklaration nur am Anfang des Dokuments zulässig

Unten finden Sie eine Darstellung der Seite bis zu der erste Fehler.

Das Laravel-Framework gibt Daten im Text-/HTML-Modus zurück, wenn es XML ausgibt. Die Lösung:

erfordert Rückgabeantwort($xml,200)->header („Content-type“, „text/xml“); Auf diese Weise kann der Header

geändert werden. Laravel gibt ein Beispiel für ein XML-Datenformat zurück:

/**
  * 神马搜索数据结构化,written:yangxingyi Data:2018-10-25 11:15
  */
 public function index(Request $request){
        $data_array = array(
            array(
                'title' => 'title1',
                'content' => 'content1',
                'pubdate' => '2009-10-11',
            ),
            array(
                'title' => 'title2',
                'content' => 'content2',
                'pubdate' => '2009-11-11',
            )
        );
        $title_size = 1;
        $xml = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n";
        $xml .= "<article>\n";
        foreach ($data_array as $data) {
            $xml .= $this->create_item($data[&#39;title&#39;], $title_size, $data[&#39;content&#39;], $data[&#39;pubdate&#39;]);
        }
        $xml .= "</article>\n";
        #echo $xml;
        return response($xml,200)->header("Content-type","text/xml");
    }
 /**
  * 神马搜索数据结构化,节点的具体内容 written:yangxingyi
  */
    private function create_item($title_data, $title_size, $content_data, $pubdate_data)
    {
        $item = "<item>\n";
        $item .= "<title size=\"" . $title_size . "\">" . $title_data . "</title>\n";
        $item .= "<content>" . $content_data . "</content>\n";
        $item .= " <pubdate>" . $pubdate_data . "</pubdate>\n";
        $item .= "</item>\n";
        return $item;
    }
Nach dem Login kopieren

PHP generiert Daten im XML-Format und fügt direkt den Header hinzu („Content-type: text/xml“); Header

<?php
 header("Content-type: text/xml");
$data_array = array(
    array(
    &#39;title&#39; => &#39;title1&#39;,
    &#39;content&#39; => &#39;content1&#39;,
        &#39;pubdate&#39; => &#39;2009-10-11&#39;,
    ),
    array(
    &#39;title&#39; => &#39;title2&#39;,
    &#39;content&#39; => &#39;content2&#39;,
    &#39;pubdate&#39; => &#39;2009-11-11&#39;,
    )
);
$title_size = 1;
$xml = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n";
$xml .= "<article>\n";
foreach ($data_array as $data) {
$xml .= create_item($data[&#39;title&#39;], $title_size, $data[&#39;content&#39;], $data[&#39;pubdate&#39;]);
}
$xml .= "</article>\n";
echo $xml;
//创建XML单项
function create_item($title_data, $title_size, $content_data, $pubdate_data)
{
    $item = "<item>\n";
    $item .= "<title size=\"" . $title_size . "\">" . $title_data . "</title>\n";
    $item .= "<content>" . $content_data . "</content>\n";
    $item .= " <pubdate>" . $pubdate_data . "</pubdate>\n";
    $item .= "</item>\n";
    return $item;
}
?>
Nach dem Login kopieren

Weitere PHP-bezogene Kenntnisse finden Sie im PHP-Tutorial !

Das obige ist der detaillierte Inhalt vonLaravel gibt XML-Daten aus, PHP gibt Daten im XML-Format aus. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:csdn.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage