powered by simpleCommunicator - 2.0.30     © 2024 Programmizd 02
Map
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Парсинг страницы
5 сообщений из 5, страница 1 из 1
Парсинг страницы
    #39748894
Tankiro1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть страничка
<li class="product" ind="0">...</li>
<li class="product" ind="1">
<a href="/catalog/pozhilye_7/active_22886/" class="product-in"></a>
<div class="product-in-list__text">
<a href="/catalog/cats/" class="product-in-list__brand">1st Choice</a>
<a href="/catalog/cats/" class="product-in-list__name">
<span class>бла</span>
<span calss="product-in-list__weight">22</span>
</a>
<p class="product-in-list__text-line">
<span class="product-in-list__price">1000</span>
<span class="product-in-list__article">Артикул: 24111</span>
</p>
<p class="product-in-list__delivery">1-2</p>
</div>
</li>

Есть заранее неизвестное кол-во элементов:
<li class="product" ind="0">
<li class="product" ind="1">
<li class="product" ind="2">....

Позиционироваться могу на каждом элементе (<li class="product" ind=) с помощью
<span class="product-in-list__article">
(который есть внутри каждого (<li class="product" ind=)),
зная его значение (напр "Артикул: 24111")

Как теперь мне получить значение элементов всего <li class="product" ind=
т.е. в итоге мне нужно получить:
- 1st Choice
- бла
- 22
- 1000
- 1-2
...
Рейтинг: 0 / 0
Парсинг страницы
    #39749052
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Отформатированный XML
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
<li class="product" ind="0">...</li>
<li class="product" ind="1">
  <a href="/catalog/pozhilye_7/active_22886/" class="product-in"></a>
  <div class="product-in-list__text">
    <a href="/catalog/cats/" class="product-in-list__brand">1st Choice</a>
    <a href="/catalog/cats/" class="product-in-list__name">
      <span class="123">бла</span>
      <span calss="product-in-list__weight">22</span>
    </a>
    <p class="product-in-list__text-line">
      <span class="product-in-list__price">1000</span>
      <span class="product-in-list__article">Артикул: 24111</span>
    </p>
    <p class="product-in-list__delivery">1-2</p>
  </div>
</li>

...
Рейтинг: 0 / 0
Парсинг страницы
    #39749065
Tankiro1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Цену, например, достать можно так, а остальное?!
(//p[span='Артикул: 24111'])/span[1]
...
Рейтинг: 0 / 0
Парсинг страницы
    #39749084
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
<xsl:template name="enum">
  <xsl:param name="desc"/>
  <!-- Ищем нужный li -->
  <xsl:variable
    name="node"
    select="//li[@class='product' and div/p/span[@class='product-in-list__article'] = $desc]"/>
  <!-- Перебираем все текстовые ноды, кроме <span class="product-in-list__article"> -->
  <xsl:for-each select="$node//*[name() != 'span' or not(@class) or @class!='product-in-list__article']/text()">
    <xsl:value-of select="."/>
  </xsl:for-each>
</xsl:template>



Вызов
Код: xml
1.
2.
3.
<xsl:call-template name="enum">
  <xsl:with-param name="desc" select="'Артикул: 24111'"/>
</xsl:call-template>
...
Рейтинг: 0 / 0
Парсинг страницы
    #39749124
Tankiro1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
благодарю )
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Парсинг страницы
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]