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



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

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

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

ONLINE Отправлено

Vl-ad-im-ir
группа пользователя
  • Онлайн:310д 12ч 10м
2 618

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





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

    • 0
  • Наверх

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

OFFLINE Отправлено

instaprof
группа пользователя
  • Онлайн:12д 20ч 58м
-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
  • Наверх

ONLINE Отправлено

Vl-ad-im-ir
группа пользователя
  • Онлайн:310д 12ч 10м
2 618

 

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

 

$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 Отправлено

Pleorin
группа пользователя
  • Онлайн:10д 11ч 12м
47

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

sms-online.pro - новый, динамически развивающийся, сайт по SMS активациям почти любого сервиса!

Наш сервис полностью автоматизирован
Мы можем похвастаться не только высокой скоростью работы сайта, но и скоростью предоставления SMS сообщений.
Есть номера с ПЕРЕАДРЕСАЦИЕЙ!) 
0857741a94ee60ff651ae6730881f767.gif
Так же приглашаем в наш магазин акков по оптовым ценам: opt-vk.ru
Канал в Telegram:@smsonlinepro
Поддержка в Telegram: @Pleorin
Почта: support@sms-online.pro


Сообщение отредактировал Pleorin: 26 08 2018 - 04:31

    • 14
  • Наверх

ONLINE Отправлено

Vl-ad-im-ir
группа пользователя
  • Онлайн:310д 12ч 10м
2 618

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

 
$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
  • Наверх

ONLINE Отправлено

Vl-ad-im-ir
группа пользователя
  • Онлайн:310д 12ч 10м
2 618

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


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

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

    • 0
  • Наверх

OFFLINE Отправлено

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

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

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


    • 0
  • Наверх

ONLINE Отправлено

Vl-ad-im-ir
группа пользователя
  • Онлайн:310д 12ч 10м
2 618

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

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


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

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

    • 0
  • Наверх

OFFLINE Отправлено

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

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

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

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


    • 1
  • Наверх

OFFLINE Отправлено

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

ONLINE Отправлено

Vl-ad-im-ir
группа пользователя
  • Онлайн:310д 12ч 10м
2 618

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

И в чем же ?)


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

    • 0
  • Наверх

OFFLINE Отправлено

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

И в чем же ?)


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

ONLINE Отправлено

Vl-ad-im-ir
группа пользователя
  • Онлайн:310д 12ч 10м
2 618

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

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


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

    • 0
  • Наверх

OFFLINE Отправлено

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

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


    • 0
  • Наверх

ONLINE Отправлено

Vl-ad-im-ir
группа пользователя
  • Онлайн:310д 12ч 10м
2 618

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

Это вы по-поводу 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
  • Наверх

ONLINE Отправлено

Vl-ad-im-ir
группа пользователя
  • Онлайн:310д 12ч 10м
2 618

 

Как вариант можете попробовать парсить 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
  • Наверх