|
Найти все места где есть нужный нод
|
|||
---|---|---|---|
#18+
Привет. Помогите пожалуйста. Пытаюсь написать Xpath запрос, который бы возвращал список нод, внутри которых есть нужный мне: Код: c# 1.
Но получаю ошибку "Результатом выражения должен быть NodeSet." Подозреваю, что ошибка специфична для C#, т.к. яндексинг по тексту ошибки почти ничего не дал. Но также подозреваю, что дело в не верно составленном Xpath. Исходный документ Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26.
Соответственно нужно чтобы запрос вернул Place1 и Place2. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2016, 20:56 |
|
Найти все места где есть нужный нод
|
|||
---|---|---|---|
#18+
ProBiotek, Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38.
Код: xml 1. 2. 3. 4. 5. 6. 7. 8.
я использовал xsl для проверки xpath, не уверен что понял задачу, но это путь возвращает узлы Place в которых есть Tool Сам XML был не валидным расхождения в названии узла id , я подправил на свое усмотрение ... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2016, 21:46 |
|
Найти все места где есть нужный нод
|
|||
---|---|---|---|
#18+
или так Код: xml 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.02.2016, 23:02 |
|
Найти все места где есть нужный нод
|
|||
---|---|---|---|
#18+
Фридрих, Извините. Запрос работает, но похоже я ошибся. Мне нужно чтобы возвращался набор тэгов с именем "Places" (на данном примере XML он только 1 конечно). На том же уровне находится и тэг Workers - он не должен попасть. Только тэг "Places". Не могу понять как нужно переписать "//Places/child::*[Cabinet/Tool]" - никогда не приходилось с Осями работать. Помогите пожалуйста. Для меня проще в программе написать //Places//Tool и затем просто в коде вызвать node.parent.parent. Но это не красиво конечно же. Вот и хотелось найти более красивый способ. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2016, 12:18 |
|
Найти все места где есть нужный нод
|
|||
---|---|---|---|
#18+
ProBiotek, можно и так попробывать: Код: xml 1.
вообще, желательно написать то, что должно быть на выходе. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2016, 12:57 |
|
Найти все места где есть нужный нод
|
|||
---|---|---|---|
#18+
Фридрих, Спасибо, собственно "//Tool/ancestor::node()[3]" полностью подошло :) Как просто оказалось. Я раньше такой синтаксис не использовал. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2016, 16:08 |
|
Найти все места где есть нужный нод
|
|||
---|---|---|---|
#18+
Фридрих, Подскажите пожалуйста еще. Есть ли какой-то задачник по Xpath ? В обычной практике с осями дел не имею, а смотрю они очень полезны. Хотелось бы попрактиковаться. Сам себе я задачи придумать не смогу. Очевидно не зная тонкостей осей, не смогу придумать задачи, которые решаются именно через оси. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2016, 16:25 |
|
Найти все места где есть нужный нод
|
|||
---|---|---|---|
#18+
ProBiotek, http://www.e-reading.club/chapter.php/1016301/356/Valikov_-_Tehnologiya_XSLT.html я этим пользуюсь ... |
|||
:
Нравится:
Не нравится:
|
|||
16.02.2016, 17:48 |
|
|
start [/forum/topic.php?fid=14&msg=39172430&tid=1332118]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
144ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 258ms |
0 / 0 |