Перейти к содержимому



Купить ссылку здесь
Фотография

Проблема при парсинге XML

Форум ZiSMO.biz
16
Сообщений в теме: 16

OFFLINE Отправлено

Vl-ad-im-ir
группа пользователя
  • Онлайн:309д 5ч 52м
2 603

Доброго времени суток!
Возникла проблема при парсинге xml данных
Дело в том, что xml прописывает html теги вместе с текстом, как сделать так, чтобы xml не переписывала теги в одну кучу с тегами html в виде текста ? 
Тег <attention> не воспринимается парсером и прописывается вместе с текстом (в виде текста), как запретить парсеру копировать данный тег в сам текст ? 
Или можно через php запретить использовать на моем сайте данный тег ? 





e0f36d553752.gif Место для ссылки с вашим текстом свободно 

    • 0
  • Наверх

Поделиться этим:

OFFLINE Отправлено

instaprof
группа пользователя
  • Онлайн:12д 15ч 15м
-1

Вот не большой пример тебе, как я разбирал

 

$xml = file_get_contents('php://input'); // тут я получаю ответ в формате xml
$str = strtok($xml , "\n");
parse_str($str, $result);
 
echo $result['amount'];

Сообщение отредактировал instaprof: 05 07 2018 - 16:54

    • 1
  • Наверх

OFFLINE Отправлено

Vl-ad-im-ir
группа пользователя
  • Онлайн:309д 5ч 52м
2 603

 

Вот не большой пример тебе, как я разбирал

 

$xml = file_get_contents('php://input'); // тут я получаю ответ в формате xml
$str = strtok($xml , "\n");
parse_str($str, $result);
 
echo $result['amount'];

 

Создается xml файл в папку cache/pay, но на сайте есть тег <attention> в html верстке 
И на моем сайте данный тег, при xml парсинге вот в таком виде: <attention>---------------------------------

Сообщение отредактировал Vl-ad-im-ir: 08 07 2018 - 13:11

e0f36d553752.gif Место для ссылки с вашим текстом свободно 

    • 0
  • Наверх

Рекламный пост

OFFLINE Отправлено

Leongram
группа пользователя
  • Онлайн:40д 19ч 6м
71

*
Популярное сообщение!

Внимание! Вышла новая версия программы Lеongram.com 3.0 - лучшая бесплатная программа для раскрутки в instаgram по мнению форума ZiSMO. 

 

Функции: Подписка ++ Отписка ++ Лайкинг ++ Автопостинг ++ Планировщик ++ Отмечалка по фото ++ Чистка от ботов

in-img1.png

В первый же день привлечете новых клиентов. Instagrаm не банит. Увеличится количество живых подписчиков, лайков и комментариев сразу же.

[Скачать бесплатно]

 

Функций больше, чем в других программах ++ Пользуйтесь бесплатно без ограничений по времени ++ Можно не оставлять компьютер включенным. 


Сообщение отредактировал The_Dark: 21 09 2018 - 23:50

Изображение
    • 35
  • Наверх

OFFLINE Отправлено

Vl-ad-im-ir
группа пользователя
  • Онлайн:309д 5ч 52м
2 603

Основная причина в этом или нет ?

 
$result = str_replace('&amp;', '&', $result);
        $result = str_replace('<![CDATA[', '', $result);
        $result = str_replace(']]>', '', $result);
 
Каких-то не хватает полноценных символов для правильного парсинга ?

Сообщение отредактировал Vl-ad-im-ir: 08 07 2018 - 13:11

e0f36d553752.gif Место для ссылки с вашим текстом свободно 

    • 0
  • Наверх

OFFLINE Отправлено

Vl-ad-im-ir
группа пользователя
  • Онлайн:309д 5ч 52м
2 603

Может есть какая-та библиотека для запрета использования данного тега <attention>?


Сообщение отредактировал Vl-ad-im-ir: 05 07 2018 - 20:04

e0f36d553752.gif Место для ссылки с вашим текстом свободно 

    • 0
  • Наверх

OFFLINE Отправлено

instaprof
группа пользователя
  • Онлайн:12д 15ч 15м
-1

Может есть какая-та библиотека для запрета использования данного тега <attention>?

Вы хотите чтобы данный тег у вас не выводился?


    • 0
  • Наверх

OFFLINE Отправлено

Vl-ad-im-ir
группа пользователя
  • Онлайн:309д 5ч 52м
2 603

Вы хотите чтобы данный тег у вас не выводился?

Именно так
При парсинге в xml
Я могу в ЛС вам скинуть функцию парсинга 


Сообщение отредактировал Vl-ad-im-ir: 05 07 2018 - 20:47

e0f36d553752.gif Место для ссылки с вашим текстом свободно 

    • 0
  • Наверх

OFFLINE Отправлено

instaprof
группа пользователя
  • Онлайн:12д 15ч 15м
-1

Именно так
При парсинге в xml
Я могу в ЛС вам скинуть функцию парсинга 

скидывайте + пример xml который вы пытаетесь разобрать.

и какие данные с него нужно вытащить.


    • 1
  • Наверх

OFFLINE Отправлено

Warior2018
группа пользователя
  • Онлайн:17ч 33м
-1
Ну примерно знаю в чем проблема
    • 0
  • Наверх

OFFLINE Отправлено

Vl-ad-im-ir
группа пользователя
  • Онлайн:309д 5ч 52м
2 603

Ну примерно знаю в чем проблема

И в чем же ?)


e0f36d553752.gif Место для ссылки с вашим текстом свободно 

    • 0
  • Наверх

OFFLINE Отправлено

Warior2018
группа пользователя
  • Онлайн:17ч 33м
-1

И в чем же ?)


Пока не дома как доеду отпищусь
    • 0
  • Наверх

OFFLINE Отправлено

Vl-ad-im-ir
группа пользователя
  • Онлайн:309д 5ч 52м
2 603

Пока не дома как доеду отпищусь

Проблему я то решил, мне интересно ваши идеи
Может быть есть лучше вариант ? )


e0f36d553752.gif Место для ссылки с вашим текстом свободно 

    • 0
  • Наверх

OFFLINE Отправлено

Влад Панченко 0
группа пользователя
  • Онлайн:7д 20ч 8м
78

Можно каждый результат через регулярку проводить, или парсинг скоростной?


    • 0
  • Наверх

OFFLINE Отправлено

Vl-ad-im-ir
группа пользователя
  • Онлайн:309д 5ч 52м
2 603

Можно каждый результат через регулярку проводить?

Это вы по-поводу strip_tags ?


e0f36d553752.gif Место для ссылки с вашим текстом свободно 

    • 0
  • Наверх

OFFLINE Отправлено

runner
группа пользователя
  • Онлайн:9д 23ч 40м
2

Как вариант можете попробовать парсить xml с помощью этой либы, входящей в любую современную сборку php http://ru2.php.net/m...k.simplexml.php

Сильно проще, чем выдумывать регулярки и ковырять xml строковыми функциями.

$xml = file_get_contents('php://input');
$xmlObject = simplexml_load_string($xml);

// Далее в цикле проходим по списку xml-объектов и делаем, что нужно
// ...

    • 0
  • Наверх

OFFLINE Отправлено

Vl-ad-im-ir
группа пользователя
  • Онлайн:309д 5ч 52м
2 603

 

Как вариант можете попробовать парсить xml с помощью этой либы, входящей в любую современную сборку php Ссылка

Сильно проще, чем выдумывать регулярки и ковырять xml строковыми функциями.

$xml = file_get_contents('php://input');
$xmlObject = simplexml_load_string($xml);

// Далее в цикле проходим по списку xml-объектов и делаем, что нужно
// ...

Это для непосредственного парсинга, но если парсер не воспринимает на сайте некоторые теги ?
Я слышал, что для этого есть функция strip_tags, но она не удаляет данные вышеописанные мною теги 
 


e0f36d553752.gif Место для ссылки с вашим текстом свободно 

    • 0
  • Наверх

OFFLINE Отправлено

runner
группа пользователя
  • Онлайн:9д 23ч 40м
2

Это для непосредственного парсинга, но если парсер не воспринимает на сайте некоторые теги ?
Я слышал, что для этого есть функция strip_tags, но она не удаляет данные вышеописанные мною теги 
 

 

Библиотека simlexml просто xml-дерево разбирает, ей, вообще говоря, все равно какие теги, лишь бы синтаксис был корректен.


    • 0
  • Наверх