Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> XPath: выборка по атрибуту и по полю 
:(
    Опции темы
Raily
Дата 25.1.2012, 15:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 146
Регистрация: 25.9.2006

Репутация: нет
Всего: нет



У меня такой вопрос - есть XML следующего вида:
Код

<document>
<params>
<key ptype="AAA">
<prm_id>fNAME</prm_id>
<prm_label>Поле</prm_label>
</key>
<key ptype="BBB">
<prm_id>fNAME</prm_id>
<prm_label>Код поля</prm_label>
</key>
</params>
</document>

Мне нужно выбрать поле prm_label элемента, у которого атрибут ptype="BBB" и полу prm_id='fName'. Как объединить эти два условия?
Я могу написать условие только по атрибуту:
Код

$result = $xml->xpath('params/key[@ptype="BBB"]');

Или по полю:
Код

$result = $xml->xpath('params/key[prm_id="fNAME"]');

А как объединить эти два условия?
Пробовала следующие конструкции:

Код

$result = $xml->xpath('params/key[@ptype="BBB"] AND params/key[prm_id="fNAME"]');
$result = $xml->xpath('params/key[@ptype="BBB" AND prm_id="fNAME"]');
$result = $xml->xpath('params/key[@ptype="BBB"] AND [prm_id="fNAME"]');

Но пока не получилось  smile 
PM MAIL   Вверх
krypt3r
Дата 26.1.2012, 08:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 359
Регистрация: 9.6.2009

Репутация: 2
Всего: 16



Попробуйте так
Код

$result = $xml->xpath ('//params/key[prm_id="fNAME" and @ptype="BBB"]/prm_label');
echo $result[0];

Вывод
Код

Код поля

PM MAIL   Вверх
Raily
Дата 27.1.2012, 15:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 146
Регистрация: 25.9.2006

Репутация: нет
Всего: нет



спасибо! получилось!  smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: X технологии | Следующая тема »


 




[ Время генерации скрипта: 0.1309 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.