@brotok
я бы сделал:
Строка - Содержит - вписать три варианта: "mail.ru", "gmail.com", "yandex.ru"
а дальше условие
<span class="views icon-eye">296</span>
</span>
</div>
<div class="ad-meta-data">
<h1 class="title">
Bitmain asic antminer s9 13. 5 th/s (в наличии) </h1>
<div class="info">
<span class="date">
Вчера, 23:41 </span>
</div>
<p class="description">
Bitmain asic antminer s9 13. 5 th/s (в наличии) </p>
<a href="/user/1935415">
Здравствуйте.
Из исходного кода страницы нужно вытащить, Title и Description.
Действия:
Экшин Xpath получить xml с запросом
//p[@class='description']/text()
Descripton получаю с лишними пробелами и переносами строк
"
Bitmain asic antminer s9 13. 5 th/s (в наличии) "
В сети узнал что есть встроенная функция normalize-space(), но не пойму как ее прописать в Xpath запрос
@Denis_krsk said in Функция Xpath для удаления пробелов (normalize-space()):
Она вроде убирает пробелы только у значений параметров атрибутов
Вроде нет http://xpoint.ru/know-how/XML/XSLT/CookBook/Trim .
Из этого примера не как не пойму, где ее использовать в запросе
//p[@class='description']/text()
@solt Кстати свою же задачу полугодовалой давности сейчас решил:
@Fox said in Xpath замена параметров в конфиге proxifier:
@UA Решил я значит перейти с любимых мной регулярок на Xpath.
На сайте в дереве dom-элементов текст с переносом строки:" Fox "Если применять экшен Xpath получить текст, то получаешь пробел. Сработал Xpath получить xml
//div[@class="nickname"]/text()[2]В логе получается идеально, но вот сохраняя в файл вижу:
Fox И вот с этим мифическим элементом переноса строки
ни как не получается справиться..
trim() не помогает.Вернул регулярку в место Xpath, пока не придумаю как решить.
Оказалось replace легко справляется с 
[[XPATH_XML]] = ([[XPATH_XML]]).replace(/ /g, "")
[[TEST]] = [[XPATH_XML]].trim()
Может и вам поможет.
@Fox said in Функция Xpath для удаления пробелов (normalize-space()):
Попробуйте через trim:
@Fox said in Функция Xpath для удаления пробелов (normalize-space()):
Оказалось replace легко справляется с 
Спасибо. Хороший вариант. Воспользуюсь вашим способом.
Вопрос останется открытым, т.к. хотелось бы "Убить двух зайцев" одним запросом, что бы минимизировать количество действий/запросов в скрипте.
@solt @Fox Я раньше подобные задачи тут http://videlibri.sourceforge.net/cgi-bin/xidelcgi пробовал решать, но уже несколько дней не работает, а аналогичные сервисы все какие-то не какие :( Там было удобно тестить ввел запрос, а тебе сразу результат. Может кстати кто-то подскажет достойную замену сервису?
Что то наколдовал (сам пока не пойму что :) ) В код полез в первые, до этого в BAS пользовался только готовыми действиями ("Кубиками")
Если что, поправите (можно так\нельзя\в чем ошибка?)... Пока работает :)
Решил не использовать действие Xpath получить текст для каждого запроса отдельно. А записать все в одно действие "Выполнить код"
VAR_DESCRIPTION = http_client_xpath_xml("//p[@class='description']/text()",!(true))
VAR_DESCRIPTION = VAR_DESCRIPTION.trim()
VAR_TITLE = http_client_xpath_xml("//h1/text()",!(true))
VAR_TITLE = VAR_TITLE.trim()
VAR_NAME = http_client_xpath_xml("//div[@class='owner-name ']/text()",!(true))
VAR_NAME = VAR_NAME.trim()
VAR_DATE = http_client_xpath_xml("//span[@class='date']/text()",!(true))
VAR_DATE = VAR_DATE.trim()
VAR_PRICE = http_client_xpath_xml("//span[@class='price float-left']/text()",!(true))
VAR_PRICE = VAR_PRICE.trim()
VAR_PHONE = http_client_xpath_xml("//a[@id='phoneCall']/@href",!(true))
VAR_PHONE = VAR_PHONE.trim()
VAR_PHONE = VAR_PHONE.replace("tel:", "")
VAR_VIEWS = http_client_xpath_xml("//span[@class='views icon-eye']/text()",!(true))
VAR_VIEWS = VAR_VIEWS.trim()

@solt said in Функция Xpath для удаления пробелов (normalize-space()):
normalize-space()
Я взялся потестировать эту тему, причем интересовал именно подход с
normalize-space()
Так вот. Ничего работать не будет. Потому что уже вот так должно работать:
normalize-space(//p[@class='description'])
Вот ссылка с онлайн-тестером: https://www.freeformatter.com/xpath-tester.html
Вот ваш фрагмент:
<div class="ad-meta-data">
<h1 class="title">
Bitmain asic antminer s9 13. 5 th/s (в наличии) </h1>
<div class="info">
<span class="date">
Вчера, 23:41 </span>
</div>
<p class="description">
Bitmain asic antminer s9 13. 5 th/s (в наличии) </p>
<a href="/user/1935415">asdfgsdfg</a>
</div>
Должно работать. А БАС этот квери не может отресолвить. Функция появилась еще в спецификации 1.0. И так же замечательная функция
translate()
не будет работать.
Потому что иcпользуется какой-то HTML-парсер, а не XML. Я об этом уже репортил тут: http://community.bablosoft.com/topic/3584/мелочи-от-зануды/35
Тоже долго искал пытался удалить эти пробелы потом решил регуляркой удалить по 2 пробела которые рядом есть и в результате получилось так чтоб все нужные пробелы остались а не нужные ушли спасибо @Fox как всегда выручаешь следующий раз попробую твой вариант