powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Как получить текст между двумя тегами?
7 сообщений из 7, страница 1 из 1
Как получить текст между двумя тегами?
    #34724884
edmikeca
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может кто поможет с xml. Я сам к сожалению не силен в нем.

Я могу найти начальный тег: //table/tbody/tr[td/p/span[text()='Job Goal']] и конечный: //table/tbody/tr[td/p/span[text()='Qualifications:']]

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

Спасибо.
...
Рейтинг: 0 / 0
Как получить текст между двумя тегами?
    #34725408
SuSa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код (структуру) xml документа покажи. А то воображать с утра плохо получается, как это у тебя там может быть.
...
Рейтинг: 0 / 0
Как получить текст между двумя тегами?
    #34725695
TiG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все-таки попытаться составить xpath-выражение выбирающее все нужные узлы. Если нормально не получается, например нет каких-то явных идентифицирующих признаков кроме содержимого ячеек, можно попробовать следующий способ:
1) переменная startPos - позиция в выборке //table/tbody/tr первой нужной ячейки
2) аналогично endPos - последней нужной ячейки
3) выбираем все //table/tbody/tr с позициями между ачальной и конечной, далее все просто
...
Рейтинг: 0 / 0
Как получить текст между двумя тегами?
    #34727168
edmikeca
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SuSaКод (структуру) xml документа покажи. А то воображать с утра плохо получается, как это у тебя там может быть.
Я приложил xml документ. Только не пинайте ногами, он сгенерирован Adobe из pdf. Мне нужно получить все (или весь текст) между //table/tr[td/p/b[text()='Job Goal']] и //table/tr[td/p[text()=' Job Type ']]

Огромное спасибо за помощь.
...
Рейтинг: 0 / 0
Как получить текст между двумя тегами?
    #34727176
edmikeca
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TiGВсе-таки попытаться составить xpath-выражение выбирающее все нужные узлы. Если нормально не получается, например нет каких-то явных идентифицирующих признаков кроме содержимого ячеек, можно попробовать следующий способ:
1) переменная startPos - позиция в выборке //table/tbody/tr первой нужной ячейки
2) аналогично endPos - последней нужной ячейки
3) выбираем все //table/tbody/tr с позициями между ачальной и конечной, далее все просто
Прошу прощение, а хоть какой-то пример можно?
Заранее благодарю
...
Рейтинг: 0 / 0
Как получить текст между двумя тегами?
    #34728517
TiG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проще оказалось воспользоваться осью following-sibling:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" encoding="windows-1251"/>

<xsl:template match="/">
<result>
  <xsl:for-each select="//table/tr[td/p/b[text()='Job Goal']]/following-sibling::*[following-sibling::tr/td/p[normalize-space(text())='Job Type']]">
    <xsl:value-of select="."/>
  </xsl:for-each>
</result>
</xsl:template>

</xsl:stylesheet>
+ normalize-space т.к. Job Type в вашем примере с пробелами в начале и конце.
...
Рейтинг: 0 / 0
Как получить текст между двумя тегами?
    #34730794
edmikeca
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Огромное СПАСИБО!!!
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Как получить текст между двумя тегами?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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