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 :: SimpleXML и получение атриботов, через ( | )

 PHP.SU

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


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

> Описание: xml из Excel
DlTA
Отправлено: 26 Апреля, 2013 - 11:21:03
Post Id



Постоянный участник


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


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




имеем сохраненный из Excel xml файл, подгружаем его в SimpleXML
и беготня по элементам работает стабильно

НО вот получение арттибутов хромает,
а именно приходится делать вот такой финт ушами

PHP:
скопировать код в буфер обмена
  1. $item = @simplexml_load_string($simXmlCel->asXML());
  2. $attributes = $item->attributes();


сделать просто
$simXmlCel->attributes(); не возвращает ничего,

а подавление ошибок приходится ставить из за ругни парсера на неопределенные пространства имен "<Cell ss:StyleID="s69"/>"

может как то не так парсю?
 
 Top
EuGen Администратор
Отправлено: 26 Апреля, 2013 - 11:33:04
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


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




DlTA пишет:
<Cell ss:StyleID="s69"/>

Не увидел здесь проблемы с присутствующим в заголовке темы разделителем (то есть "|"). Природа $simXmlCel не очевидна. Если это не объект simplexml - то, очевидно, нужно сначала его передать парсеру - и тогда - в чём вопрос?


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
DlTA
Отправлено: 26 Апреля, 2013 - 11:42:04
Post Id



Постоянный участник


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


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




EuGen пишет:
(то есть "|")
это не разделитель, ото часть чел. тела

а проблема как таковая в необходимости делать финт ушами, в противном случае нет результата (финт описан в 1 посте)
 
 Top
KingStar
Отправлено: 26 Апреля, 2013 - 12:39:13
Post Id



Участник


Покинул форум
Сообщений всего: 1889
Дата рег-ции: Авг. 2011  
Откуда: Беларусь


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




помню что-то было подобное у меня, проблема вся в том, что у атрибут должен быть не ss:StyleID, а просто StyleID, т.е. не должнео быть в названии атрибута символа двоеточия ":"

решал просто - удалял в N++ все эти ss:

(Отредактировано автором: 26 Апреля, 2013 - 12:41:23)



-----
То что программа работает, не означает что она написана правильно!
 
 Top
DlTA
Отправлено: 26 Апреля, 2013 - 12:53:05
Post Id



Постоянный участник


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


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




KingStar пишет:
решал просто - удалял в N++ все эти ss:

в моем случае не ахти вариант, мой мне больше нравится.
 
 Top
KingStar
Отправлено: 26 Апреля, 2013 - 12:56:27
Post Id



Участник


Покинул форум
Сообщений всего: 1889
Дата рег-ции: Авг. 2011  
Откуда: Беларусь


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




ну если ты делаешь загрузку файла, и потом парсишь, то вполне можешь удалить все на уровне php при загрузке одним махом
(Добавление)
я просто обозначил причину, почему не парсит атрибут вида ss:StyleID


-----
То что программа работает, не означает что она написана правильно!
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« XML и его обработка »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB