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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите распарсить сложный XML 
:(
    Опции темы
LediRed
Дата 30.1.2009, 23:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Есть не очень удобный xml такого вида:
http://bullion.ru/person.xml
В нем есть данные для таблички.
Как мне его распарсить, чтобы получить на выходе html код?

Вот что сделано:
Код

$dom = new DOMDocument();
$dom->load($file);
$xpath = new DOMXPath($dom);
$arts = $xpath->query("/InfoPacket/InfoItem/Text");
foreach($arts as $art) {
    echo iconv("UTF-8","windows-1251", $art->nodeName . " - " . $art->nodeValue . "<br />");
}


Теперь задачка как правильно распарсить узел <Text> в котором есть просто тексты, есть подузел <Data> и <Table>.
Причем эти подузлы могут быть где угодно в тексте, а может их и вовсе не быть.
Идея такая:
Задаю 
Код

$text = "";

затем нужно чтобы узел <Text> парсился сверху-вниз. 
Когда парсинг доходит до узла <Table> (наверно проверку на блок как то надо сделать)  - то нужно чтобы выполнилось 
Код

$text .= "<table>";

В блоке <Column> - 
Код

$text .= "<tr><td>ТЕКСТ><td>";

ну и так далее.
Подскажите пож-ста как правильно сделать перебор всех узлов, как их при этом проверять.
Спасибо!



Это сообщение отредактировал(а) LediRed - 30.1.2009, 23:45
PM MAIL   Вверх
solenko
Дата 31.1.2009, 07:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Переюрать всех childNode. При этом проверям nodeType (будут разными для просто текста и <Data>, <Table>), ну а <Data> и <Table> различаем по nodeName

Добавлено через 2 минуты
[offtop]LediRed, пощадите людей, Они е вам помочь хотят, а открывая вашу ссылку и наблюдая неформотированный xml желания поубавляется[/offtop]


--------------------
Ла-ла-ла-ла
Заметьте, нет официального подтверждения, что это не просто четыре слога.
PM MAIL WWW ICQ Skype   Вверх
LediRed
Дата 31.1.2009, 10:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Извиняюсь, просто нужен хотя бы пример кода. Идеологию я и сам представляю.
Но в PHP не самый большой специалист.

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


 




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


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

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