Как распарсить xml ?



  • откуда такое желание использовать именно xpath парсинг, если тебе просто нужно вытащить ссылки и все.
    0_1488061411498_1488058725732-pars_xml.xml



  • Спасибо за ваше решение! Об регулярках я в первую очередь подумал. Но этот файл просто для примера. В бою мне нужно будет плотно работать с XML, а там много взаимосвязанных данных парсить. Если в БАС заявлен функционал парсинга xpath, то хочу разобратся почему в моем случае парсит пустые строки?

    p.s Перевожу несколько шаблонов с Зеннопостера на БАС. В тестере xpath Зенки команда //clickurl отрабатывает как надо.



  • @Gang судя по названию переменной, вы исеользуете действие получить каждый текст. Попробуйте использовать Получить каждый xml



  • @Gang said in Как распарсить xml ?:

    то хочу разобратся почему в моем случае парсит пустые строки?

    потому что там идут данные в CDATA, думаю это недоработка, пустых строк отдавать не должно. Должно обработать CDATA и выдать его содержимое..



  • @DrPrime пробовал получаю только теги которые обрамляют текст, но текста внутри тегов нет



  • @out ну вот я кинул пример шаблона не парсит. Выдает пустые строки. Если проблема в CDATA подскажите что дописать в запрос чтоб парсило? Или это баг BAS?



  • @Gang да, я выше писал, что скорее всего это недоработка в БАС. Т.к. из-за того, что там CDATA, ты не получаешь текст.

    чтобы не ждать админа, ты можешь просто конвертировать xml в json и работать с ним гибко. Если есть опыт работы с ним.


  • administrators

    @Gang Да, это баг. cdata читается только внутри тега script и возможно еще некоторых. В связи с этим временный фикс.
    0_1488205981161_xpathcdata.xml
    В следующей версии исправлю.



  • @support Спасибо! Как приятно получать качественную поддержку от самого разработчика! А то на форуме Зенки в поддержке какие-то посредники между клиентами и разработчиками, по сто раз объясняешь где баг, а они фиксят но не то что нада))


Log in to reply
 

Looks like your connection to Bablosoft was lost, please wait while we try to reconnect.