PHP работа с DOM(получить последний\первый элемент)
Есть такой xml-файл:
Код:
<?xml version="1.0" encoding="windows-1251"?> $dom = new DOMDocument("1.0", "windows-1251"); $dom->load("xmlexample1.xml"); $text = $dom->getElementsByTagName('theme')->lastChild->textContent; echo $text; В надежде получить на выходу: bla bla bla ... уже разобрался - сделал так: $dom = new DOMDocument("1.0", "windows-1251"); $dom->load("xmlexample1.xml"); $temp = $dom->getElementsByTagName('theme'); $text =$temp->item($temp->length)->textContent; echo $text; Но все же почему не получалось через lastChild? И как это вообще делается по-нормальному? |
А с чего Вы взяли, что у экземпляров класса DOMNodeList существует свойство lastChild?
|
а разве нет?
подождите, а у какого класса тогда lastChild существует? |
а... это свойство конкретно элемента..
ну вроде разобрался, работает $dom = new DOMDocument("1.0", "windows-1251"); $dom->load("xmlexample1.xml"); $temp = $dom->firstChild; //тут получили элемент root $text =$temp->lastChild->textContent; //а тут текст bla bla bla echo $text; кажется разобрался, спасибо |
Еще вопрос возник.
Так работает: $dom = new DOMDocument("1.0", "windows-1251"); $dom->load("xmlexample1.xml"); $root->$dom->documentElement; $temp = $dom->firstChild; //тут получили элемент root $text =$temp->lastChild->textContent; //а тут текст bla bla bla echo $text; А так - нет: $dom = new DOMDocument("1.0", "windows-1251"); $dom->load("xmlexample1.xml"); $root->$dom->documentElement; $text =$root->lastChild->textContent; echo $text; или я опять что-то путаю? в этой статье( https://developer.mozilla.org/en/DOM...ocumentElement ) об этом как раз и говориться: That's why you should use document.documentElement rather than document.firstChild to get the root element. только у меня получается все наоборот. |
А где Вы инициализируете переменную $root? Я с DOMDocument не работал, но не верю, что конструктор создает новую глобальную переменную.
|
Часовой пояс GMT +3, время: 20:11. |