Frage

Ich habe ein Gefühl, das ich dick bin zu sein, aber hier ist mein Problem:

Ich erstelle dynamische XML-Bäume mit PHP. Diese Bäume beschreiben Mitarbeiter Hierarchien, Dateiverzeichnisse usw. Sie umfassen kleine Abschnitte von Inhalten auf einer Webseite. Der Rest der Webseite ist zusammengeklebt aus verschiedenen anderen Quellen, die SQL basieren, oder statischen Text oder eine spezielle Präsentation Klasse. Wenn ich meine Bäume Ausgang gehen, verwandeln wir die XML-Daten in eine verschachtelte <ul>. Ich möchte die Ausgabe, die ohne Doctype / header info <ul>. PHP DomDocument und SimpleXML Klassen scheinen nicht, dies zu ermöglichen. Ist die einzige Option, die beanstandete Informationen abzustreifen, nachdem der <ul> in einem String zu speichern?

War es hilfreich?

Lösung

Es stellte sich heraus, wenn ich <xsl:output method="html" /> habe ich nicht mehr ausgegeben ein automatischer DOCTYPE. Problem gelöst.

Andere Tipps

Es gibt einen Kommentar zu diesem am Ende dieser Seite: http://www.php.net/manual/en/libxml.constants.php

SimpleXML fügt automatisch einen Header. Es gibt eine Option, um es auszuschalten, wenn ein einfaches XML-Objekt erstellen - seine die LIBXML_NOXMLDECL, aber es funktioniert nicht - es gibt noch eine offene Bug darüber -. Oben Link am Ende der Seite sehen

Dies ist, was ich am Ende tat:

$doc = new DOMDocument('1.0');
$root = $doc->createElement('items');
$root = $doc->appendChild($root);
$title = $doc->createElement('title');
$title = $root->appendChild($title);
$text = $doc->createTextNode($item->title);
$text = $title->appendChild($text);
$items[] =  $doc->saveXML($root);

Kurs bedeutet dies nicht geben Sie mir ein SimpleXML Objekt aber zumindest seine xml und nicht die Header ..

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top