powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Вопрос по xpath
8 сообщений из 8, страница 1 из 1
Вопрос по xpath
    #38110094
fault
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Приветствую всех.

Привожу код xml:

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
<?xml version="1.0" encoding="utf-8"?>
<coupons>
	...
	<coupon_categories>
		<coupon_category><id>1</id><name>Детские товары</name></coupon_category>
		<coupon_category><id>2</id><name>Красота &amp; здоровье</name></coupon_category>
		<coupon_category><id>3</id><name>Мода &amp; аксессуары</name></coupon_category>
		...
		<coupon_category><id>12</id><name>Путешествия &amp; Туризм</name></coupon_category>
	</coupon_categories>
	
	<coupon>
		<id>1478</id>
		<advcampaign_id>1620</advcampaign_id>
		...
		<coupon_categories>
			<coupon_category>2</coupon_category>
			<coupon_category>3</coupon_category>
			<coupon_category>7</coupon_category>
		</coupon_categories>
		<advantages/>
	</coupon>
</coupons>



Вначале идет перечень coupon_categories, далее уже список coupon-ов. C помощью какого запроса я смогу получить вместо каждого coupons/coupon/coupon_categories/coupon_category его название из coupons/coupon_categories/coupon_category?
...
Рейтинг: 0 / 0
Вопрос по xpath
    #38110105
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: xml
1.
2.
3.
<xsl:template match="coupon/coupon_categories/coupon_category">
    <xsl:value-of select="/coupons/coupon_categories/*[id=current()/text()]/name"/>
</xsl:template>
...
Рейтинг: 0 / 0
Вопрос по xpath
    #38110636
fault
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за быстрый ответ! Но, как это сделать используя только xpath-запрос?
...
Рейтинг: 0 / 0
Вопрос по xpath
    #38110646
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Примерно так же. Я не знаю, из какого контекста вы будете делать запрос, поэтому сделал для того, что написан в match.
...
Рейтинг: 0 / 0
Вопрос по xpath
    #38110725
fault
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ок, давайте опишу подробней ситуацию.
Делаю сайт на drupal, поставил модули feeds и feeds_xpathparser. В настройках указываю ссылку на xml, и вот это содержимое надо разложить по нодам. Простые поля получается импортировать, а с терминами таксономии уже не все так просто.

Код: xml
1.
2.
3.
4.
5.
<coupon_categories>
	<coupon_category>2</coupon_category>
	<coupon_category>3</coupon_category>
	<coupon_category>7</coupon_category>
</coupon_categories>



Вытащить отсюда список терминов можно добавив в поле field_coupon_categories (на картинке) "coupon_categories/coupon_category". Но они добавляются как 2, 3, 7 без проблем, но нужно вместо этих чисел добавить их name.

...
Рейтинг: 0 / 0
Вопрос по xpath
    #38110788
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это посложнее будет.

/coupons/coupon_categories/*[id=self::coupon_categories/*]/name

Скорее всего вернется лишь первое описание.
...
Рейтинг: 0 / 0
Вопрос по xpath
    #38110798
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не знаю, как работает этот ваш drupal, но думаю, что если бы в поле "контекст" было coupon_category (который из coupon/coupon_categories), то было бы ровно так как я написал в селекте.
...
Рейтинг: 0 / 0
Вопрос по xpath
    #38130214
epashkov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте!

У меня такая же проблема. fault , у вас получилось использовать запрос от Antonariy ?
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Вопрос по xpath
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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