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

подскажите = как с помощью XPath выбрать все одноуровневые узлы? (who, why, where, when)

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
<?xml version="1.0" encoding="UTF-8"?>
<books>
  <who>Hancock</who>
  <why>Just like that</why>
  <book isbn="go">
    <title isbn="first ISBN">Первое название книги</title>
    <author>первый автор</author>
    <pages>324 количество страниц</pages>
    <isbn>isbn 1</isbn>
    <year>1990</year>
  </book>
  <where>Russia</where>
  <when>Right now</when>
  <book isbn="go to ISBN">
    <title isbn="second ISBN">Второе название книги</title>
    <author>второй автор</author>
    <pages>678 количество страниц</pages>
    <isbn>isbn 2</isbn>
    <year>1997</year>
  </book> 	
</books>
...
Рейтинг: 0 / 0
получить все одноуровневые из корня
    #38279991
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
/books/*[!*] вроде бы
...
Рейтинг: 0 / 0
получить все одноуровневые из корня
    #38280011
mhx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
mhx
Гость
Звёздочка выбирает одноуровневые узлы. Узлы book также войдут в этот список.
...
Рейтинг: 0 / 0
получить все одноуровневые из корня
    #38280035
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mhxЗвёздочка выбирает одноуровневые узлы. Узлы book также войдут в этот список.в квадратных скобках фильтр, есличо
...
Рейтинг: 0 / 0
получить все одноуровневые из корня
    #38280073
buyboy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariy/books/*[!*] вроде быне сработало...
выбрать удалось НЕ одноуровневые =
Код: xml
1.
/books/*[*]
...
Рейтинг: 0 / 0
получить все одноуровневые из корня
    #38280122
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Восклицательный знак не сработал?
...
Рейтинг: 0 / 0
получить все одноуровневые из корня
    #38280130
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тогда /books/*[count(*)=0]
...
Рейтинг: 0 / 0
получить все одноуровневые из корня
    #38280155
buyboy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyВосклицательный знак не сработал? ага! я открыл файл в Firepath и ввел ваш запрос
...
Рейтинг: 0 / 0
получить все одноуровневые из корня
    #38280158
mhx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
mhx
Гость
Вот что сработает
Код: sql
1.
/books/*[not(*)]


Только я не понимаю этой записи. Antonariy, не просветите? Это случайно не выборка узлов, у которых нет детей?
...
Рейтинг: 0 / 0
получить все одноуровневые из корня
    #38280161
buyboy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariyтогда /books/*[count(*)=0] это - работает! спасибо!
вот так =
Код: xml
1.
/books/*[count(*)=0]/text()

я могу получить набор из значений содержащихся внутри этих узлов
а как получить набор из названий этих узлов?
...
Рейтинг: 0 / 0
получить все одноуровневые из корня
    #38280164
buyboy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot mhx]Вот что сработает
Код: sql
1.
/books/*[not(*)]

да = сработало! спасибо
...
Рейтинг: 0 / 0
получить все одноуровневые из корня
    #38280193
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
buyboyа как получить набор из названий этих узлов?name()
...
Рейтинг: 0 / 0
получить все одноуровневые из корня
    #38280194
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mhxВот что сработает
Код: sql
1.
/books/*[not(*)]


Только я не понимаю этой записи. Antonariy, не просветите? Это случайно не выборка узлов, у которых нет детей?Да, это она. Сам бы так написал, но забыл про not().
...
Рейтинг: 0 / 0
получить все одноуровневые из корня
    #38280206
buyboy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariybuyboyа как получить набор из названий этих узлов?name()
так = /books/*[count(*)=0]/name() не работает
а так = name(/books/*[count(*)=0]) вернуло только имя первого узла
p.s. мне бы как-нить все получить
...
Рейтинг: 0 / 0
получить все одноуровневые из корня
    #38280255
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
buyboyа так = name(/books/*[count(*)=0]) вернуло только имя первого узла
p.s. мне бы как-нить все получитьА куда вы запрос-то вписываете? value-of по определению возвращает первое значение, оно должно быть либо в контексте for-each либо apply-templates. Как-то так:

Код: xml
1.
2.
3.
<xsl:for-each select="books/*[not(*)]">
    <xsl:value-of select="name()"/>
</xsl:for-each>
...
Рейтинг: 0 / 0
получить все одноуровневые из корня
    #38280278
buyboy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariy, вот как это выглядит с запросом /books/*[count(*)=0]/text()
поэтому я и подумал, что так же посветятся(то есть будут в наборе) названия узлов
...
Рейтинг: 0 / 0
получить все одноуровневые из корня
    #38280324
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если просто /books/*[count(*)=0]?
Без name и text.
...
Рейтинг: 0 / 0
получить все одноуровневые из корня
    #38280331
buyboy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyА если просто /books/*[count(*)=0]?
Без name и text.
...
Рейтинг: 0 / 0
получить все одноуровневые из корня
    #38280334
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и? Устраивает?
...
Рейтинг: 0 / 0
получить все одноуровневые из корня
    #38280341
buyboy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyНу и? Устраивает?не очень... хотелось получить чистый набор имен узлов...
ну если по другому не получается - хай будэ о цэ
спасибо за подсказки!
p.s. кстати = какое условие позволит получить НЕ число? not(number(text())) ...?
...
Рейтинг: 0 / 0
получить все одноуровневые из корня
    #38280367
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
buyboyхотелось получить чистый набор имен узлов...А смысл такого перфекционизма в дебаггере FF?
авторкакое условие позволит получить НЕ число? not(number(text())) ...?number конвертирует строку в число
можно так попробовать: text()!=string(number(text()))
...
Рейтинг: 0 / 0
получить все одноуровневые из корня
    #38280395
buyboy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyА смысл такого перфекционизма в дебаггере FF? так проще учиться
Antonariyможно так попробовать: text()!=string(number(text())) работает = сэнкс
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / получить все одноуровневые из корня
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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