Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> проблема с childNodes 
:(
    Опции темы
Reptor
Дата 25.11.2008, 18:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1213
Регистрация: 29.12.2004

Репутация: нет
Всего: 0



есть такой XML

Код

<root1>
   <node>
       <node_next>ff</node_next>
    </node> 
    <node1>dd</node1>
</root1>


беру childNodes от <root1> и возникает следущая проблема.... почему тэгу <node> и тэгу <node_next> приписывает текст ff
должно же только для <node_next> ??? 

вот вывод такого кода 

Код

for ($i = 0; $i < $nodelist->length; $i++) {
              if($nodelist->item($i) instanceof DOMText) continue;
              if(is_null($nodelist->item($i)->tagName)) continue;

              var_dump($nodelist->item($i)->nodeValue);
              var_dump($nodelist->item($i)->tagName);
              var_dump($nodelist->item($i)->hasChildNodes());

               if($nodelist->item($i)->hasChildNodes()){
                                }

          }


string(2) "ff"
string(4) "node"
bool(true)

string(2) "ff"
string(9) "node_next"
bool(true)

string(2) "dd"
string(5) "node1"


и вот видите оно взяло и тэгу node приписало текст ff  smile   почему? и как сделать так что б было корректно? что у <node> небыло текста??






Это сообщение отредактировал(а) Reptor - 25.11.2008, 18:42
PM MAIL ICQ   Вверх
Vaulter
Дата 25.11.2008, 21:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1724
Регистрация: 30.12.2002
Где: бункер

Репутация: нет
Всего: 22



вообще по спецификации для ноды типа Element nodeValue = null должен быть.
а тут видать для него nodeValue вычисляется из всего внутреннего содержимого + text()

 smile 


--------------------
PM MAIL WWW ICQ   Вверх
Reptor
Дата 26.11.2008, 11:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1213
Регистрация: 29.12.2004

Репутация: нет
Всего: 0



Цитата

вообще по спецификации для ноды типа Element nodeValue = null должен быть.


Да я тоже видел такой момент....а как же быть? как от этого текста избавиться?
PM MAIL ICQ   Вверх
Reptor
Дата 26.11.2008, 14:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1213
Регистрация: 29.12.2004

Репутация: нет
Всего: 0



я использую текст в том случаи если выполняется условие 

Код

 if(!$nodelist->item($i)->childNodes->item(0)->hasChildNodes())


не знаю наскоко это верно но вроде работает на том примере... по другому как избежать не знаю.. 
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: X технологии | Следующая тема »


 




[ Время генерации скрипта: 0.0471 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.