2012-10-20 8 views
12

HI używam ajax dla strony internetowej, która wyświetla dostępne kursy, mam problem, gdzie czytam xml (który ma szczegóły kursów) uzyskanie wartości węzła (nazwa kursu) w porównaniu do moich danych wejściowych (nazwa kursu) jeśli jest równa, wyświetlam tekst (opis kursu). teraz jestem coraz to śledzenie skorygować nazwę kursu (w pliku xml), ale porównując go do przebiegu wejściowego nazwać jej wcale porównując so.at jednym punkcie i załadowany plik xml i echo go:konwertowanie DOMDocument xml na ciąg

$doc->load('data/ICT.xml'); 
echo"$doc"; 

to daje mi błąd

Catchable fatal error: Object of class DOMDocument could not be converted to string in /home/students/....../www/htdocs/client/unit_details.php on line 23

więc co zrozumiałem z tego jest to, że obiekt XML DOM powinny być zamienione na ciąg tak, że można uzyskać wymagane dane i używać go, czy to prawda? jeśli tak, ktoś może mi powiedzieć, jak to zrobić, proszę (jak wszystkie funkcje itp.) z góry dzięki :-)

+1

[ 'DOMDocument'] (http://us3.php.net/manual/en/class.domdocument.php) implementuje API DOM - węzły dostępowe poprzez takie rzeczy jak' getElementById(), getElementsByClassName() ', etc, i użyj' saveXML() ', aby napisać ciąg znaków. –

Odpowiedz

17

Obiekt DOMDocument nie może być używany jako ciąg.

Oto w jaki sposób wyświetlania obiektu DOMDocument jako ciąg znaków XML:

echo $doc->saveXML(); 
4

DOMDocument ma metodę SaveHTML(), jest zaprojektowany, aby dokładnie to, co trzeba zrobić.

Można wyświetlić cały dokument:

$doc->saveHTML(); 

Albo po prostu pewnego węzła:

$doc->saveHTML($bodyNode); 

DOMDocumnet zapewnia również kilka opcji, jak zwiększyć jak XML jest druk, takich jak:

-3

Można użyć typu odlew

$doc->load('data/ICT.xml'); 
$doc2=(string)$doc; 
echo $doc2; 

lub użyć funkcji PHP

strval(); 

ta funkcja zwraca wartości ciągów parametru przekazanego do niego.

+1

Powinieneś lepiej przeczytać pytanie przed odpowiedzią: * "Złapalny błąd krytyczny: Obiekt klasy DOMDocument nie mógł zostać przekonwertowany na ciąg znaków w /home/students/....../www/htdocs/client/unit_details.php na linia 23 "* – hakre

3

Spróbuj tego:

$xml = $doc->saveXML($doc->documentElement); 
Powiązane problemy