loadXML Problem mit eigenem Theme
Eingetragen von Banane (6)
am 19.08.2009 - 01:20 Uhr in
am 19.08.2009 - 01:20 Uhr in
Hallo,
ich habe mir mit Artisteer ein eigenes Theme erstellt, welches bis auf das Menü auch erkannt wird. Ich bekomme folgende Fehlermeldung:
* warning: DOMDocument::loadXML() [domdocument.loadxml]: Extra content at the end of the document in Entity, line: 10 in /homepages/22/xxx/htdocs/xx/themes/blue/common_methods.php on line 37.
* warning: Invalid argument supplied for foreach() in /homepages/22/xxx/htdocs/xx/themes/blue/common_methods.php on line 42.
Anbei mal der Auszug aus der common_methods.php:
(Zeile 34)function art_menu_xml_parcer($content, $showSubMenus)
{
$doc = new DOMDocument();
$doc->loadXML($content);
$parent = $doc->documentElement;
$elements = $parent->childNodes;
$nodesToDelete = array();
foreach ($elements as $element) {
if (is_a($element, "DOMElement") && $element->tagName == "li") {
$children = $element->childNodes;
foreach ($children as $child) {
if (is_a($child, "DOMElement") &&($child->tagName == "a")) {
$caption = htmlspecialchars($child->nodeValue);
$child->nodeValue = "";
$spanL = $doc->createElement("span");
$spanL->setAttribute("class", "l");
$spanL->nodeValue = " ";
$child->appendChild($spanL);
$spanR = $doc->createElement("span");
$spanR->setAttribute("class", "r");
$spanR->nodeValue = " ";
$child->appendChild($spanR);
$spanT = $doc->createElement("span");
$spanT->setAttribute("class", "t");
$child->appendChild($spanT);
$spanT->nodeValue = $caption;
}
else if (!$showSubMenus) {
$nodesToDelete[] = $child;
}
}
}
(zeile 72) }
Kann mir da irgendwer weiterhelfen? Provider ist 1und1 (Business Paket).
- Anmelden oder Registrieren um Kommentare zu schreiben
XML
am 19.08.2009 - 06:55 Uhr
Moin.
Zeile 37 müsste dann ja
$doc->loadXML($content);
sein. Anhand der Fehlermeldung würde ich mal vermuten, dass in$content
etwas drinsteht, was da nicht reingehört.Schau also, was da drinsteht und sorge (wie auch immer) dafür, dass die Variable wohlgeformtes XML enthält.
Btw.: soll die Funktion wirklich "art_menu_xml_parcer" heissen?
hth,
Stefan
--
sei nett zu Deinem Themer
$content
am 19.08.2009 - 09:53 Uhr
Die php Dateien werden von Artisteer so erstellt. Daher hab ich kein Einfluß auf die Funktionsnamen. Ich bin da auch nicht so der crack drin. Was mich auch gleich zu meiner nächsten Frage führt.
Wo finde ich $content? Und woher weiß ich was da nicht reingehört?
XML
am 19.08.2009 - 10:53 Uhr
Wo finde ich $content? Und woher weiß ich was da nicht reingehört?
$content
wird wahrscheinlich generiert und sollte valides XML enthalten. Wo genau das jetzt herkommt, kann ich Dir auch nicht sagen, Du müsstest mal schauen, wo die Funktion aufgerufen wird, bzw. die XML-Daten zusammengebaut werden.Anscheinend werden da noch irgendwelche Zeichen an das XML angehängt (oder überhaupt kein richtiges XML erstellt).
Du kannst Dir ja mal spassenshalber den Inhalt ins log schreiben lassen.
hth,
Stefan
--
sei nett zu Deinem Themer
hmm
am 19.08.2009 - 19:28 Uhr
Danke für die Antwort. Aber das bringt mich gerade überhaupt nicht weiter. Keine Ahnung wo ich da ansetzen soll. Da das Problem mit allen Themes ensteht, die ich mit dem Programm erstelle, könnte ich es Dir ja mal zuschicken. Vielleicht wäre das einfacher?
Idee?
am 24.08.2009 - 10:25 Uhr
Hat jemand anderes vielleicht eine Idee?
Ich habe das gleiche
am 12.09.2009 - 08:14 Uhr
Ich habe das gleiche Problem. Hat Jemand das gelüst