Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Прасить xml средством или

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
zzzzzz
Отправлено: 20 Сентября, 2013 - 20:14:40
Post Id


Гость


Покинул форум
Сообщений всего: 117
Дата рег-ции: Янв. 2013  


Помог: 0 раз(а)




Приветствую всех.

Спойлер (Отобразить)




Нужно вытащить url который находится в середине 13 строчки XML файла.
Могу так preg_match и так simplexml_load_file

Что будет быстрее с учетом того что итераций до 15-ти может быть

Подумывал функцией simplexml_load_file но она как вы знаете строит массив в который нецелесообразно попадает столько мусора из-за того что искомый объект находится почти в конце XML.

Спасибо

(Отредактировано автором: 20 Сентября, 2013 - 20:19:02)

 
 Top
teddy
Отправлено: 20 Сентября, 2013 - 20:21:45
Post Id


Участник


Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013  


Помог: 91 раз(а)




zzzzzz пишет:
Подумывал функцией simplexml_load_file но она как вы знаете строит массив

не массив а объект. Соответственно можно обратиться $obj->element(сразу к 13 строке) и дальше парсить его содержимое регуляркой
(Добавление)
Только это... я в структуру данного документа особо не вникал, каша там )) Походу что бы подобраться как можно ближе к той части документа которая вам нужна, понадобится xPath или может кто более приемлимое посоветует

(Отредактировано автором: 20 Сентября, 2013 - 20:50:36)

 
 Top
zzzzzz
Отправлено: 20 Сентября, 2013 - 20:25:13
Post Id


Гость


Покинул форум
Сообщений всего: 117
Дата рег-ции: Янв. 2013  


Помог: 0 раз(а)




Цитата:
не массив а объект
Извиняюсь перепутал

Цитата:
обратиться сразу к 13 строке

А вот до этого не догадался
Спасибо
 
 Top
zzzzzz
Отправлено: 21 Сентября, 2013 - 21:04:42
Post Id


Гость


Покинул форум
Сообщений всего: 117
Дата рег-ции: Янв. 2013  


Помог: 0 раз(а)




Новая проблема.

Я в начале привел xml который предоставляет сервис youtube.
Интерпретирую его в объект функцией simlexml_load.
Ужас, на выходе получаю не полный xml объект.

Заметил, что в том месте где первый тег имеет в себе двоеточие например "<media:thumbnail..." и наступает конец xml объекту вследствие чего часть данных пропадает.

Предположил что ':' ломает структуру и решил что надо пройтись функцией str_replace(':', '', trim($str)) и "убить" все двоеточия.

Ура, теперь все данные преобразуются в объект без потерь но появились ошибки
Warning: simplexml_load_string() [function.simplexml-load-string]: namespace warning ...
Это потому что в заголовке xml есть необходимые ему двоеточия которые str_replace также затирает?!

Теперь нужно чтобы функция str_replace начала свою работу не с начала xml документа а скажем с середины ближе к тому месту откуда начинаются эти злосчастные теги с двоеточиями

Как это организовать правильно и правильно ли я рассуждаю?
Спасибо
(Добавление)
и еще один нубовский вопрос
как обратиться к url
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. [mediathumbnail] => Array
  3.         (
  4.             [0] => SimpleXMLElement Object
  5.                 (
  6.                     [@attributes] => Array
  7.                         (
  8.                             [url] => http//i1.ytimg.com/vi/yzwHHRiOg40/0.jpg
  9.                             [height] => 360
  10.                             [width] => 480
  11.                             [time] => 000300.500
  12.                         )
  13.  
  14.                 )
  15.         }
  16.  


mediathumbnail[0]->attributes['url'] - не работает
зачем там "собака"
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB