Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / простейший XPath запрос. / 7 сообщений из 7, страница 1 из 1
03.06.2007, 13:03
    #34570323
MrHankey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
простейший XPath запрос.
Хочу построить простой запрос XPath который вернёт количество суб-элементов конкретного элемента.

<Parent>
<child>first</child>
<child>second</child>
<child>third</child>
</Parent>

подскажите пжлста. и еще хотелось бы чтоб в запросе можно было ставить условие.

я думаю как то так надо.
/*[local-name()='Parent' and namespace-uri()='']/*[local-name()='child' and namespace-uri()='']

но куда дальше прилепить функцию number() низнаю.
...
Рейтинг: 0 / 0
04.06.2007, 06:58
    #34570924
jimmers
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
простейший XPath запрос.
Код: plaintext
count(//Parent/*)
...
Рейтинг: 0 / 0
04.06.2007, 10:58
    #34571318
MrHankey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
простейший XPath запрос.
спасибо
...
Рейтинг: 0 / 0
04.06.2007, 12:33
    #34571689
Yury Kovshov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
простейший XPath запрос.
Использование '//' - признак непроффессионализма.

Правильно:
count(/Parent/*)
...
Рейтинг: 0 / 0
04.06.2007, 12:46
    #34571740
dejavew
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
простейший XPath запрос.
Yury KovshovИспользование '//' - признак непроффессионализма.

Правильно:
count(/Parent/*)
С точки зрения сравнения адекватности сокращений: '//' и '*' - ничем друг от друга не отличаются, потому что и то, и другое - суть заменители для "правильных" спецификаторов XPath.
Поэтому ваш пример с '/Parent/*' не намного "профессиональнее"...
...
Рейтинг: 0 / 0
04.06.2007, 15:18
    #34572411
MrHankey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
простейший XPath запрос.
я и не собирался использовать //

всегда делаю так

/*[local-name()='Parent' and namespace-uri()='']/*[local-name()='child' and namespace-uri()='']
...
Рейтинг: 0 / 0
04.06.2007, 15:18
    #34572414
jimmers
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
простейший XPath запрос.
Yury KovshovИспользование '//' - признак непроффессионализма.

Правильно:
count(/Parent/*)

Вообще-то мой запрос соответсвует исходной задаче. Ибо Parent может быть вложен ниже в какой-то ещё элемент.

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


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