Re[2]: А про XPath вопросы в какой форум задавать?
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 06.03.18 23:20
Оценка:
Здравствуйте, ·, Вы писали:


M>> Есть XPath выражение: "/Project/Targets/Target/Groups/Group[string(GroupName)=$name]/preceding-sibling::text()". Оно не срабатывает, а выкидывает ошибку, мол не могу выполнить

·>Я не могу понять описание задачи. Приведи пример входного xml с объяснением чего ты хочешь выбрать.

Исходное поддерево:
...
        <Group>
          <GroupName>github_misc_stm32_meekdai_stm32_grbl</GroupName>
          <Files>
...
          </Files>
        </Group>
...


Я могу выбрать нужный тэг Group через выражение "/Project/Targets/Target/Groups/Group[string(GroupName)=$name]" где name задается как "github_misc_stm32_meekdai_stm32_grbl", и удалить его.
И — мне нужно выбрать текст (который есть пустая строка чисто для отступа, с переводом строки) перед этим тэгом, чтобы его тоже удалить и корректно модифицировать дерево, чтобы не появлялось пустых строк и прочих артефактов.
Потому что если я просто удаляю найденый тег, то остается пустая строка и ненужный перевод строки, и это очень мешает

·>Твоя конструкция не работает потому preceding-sibling ожидает тег, чтобы выбрать всё поддерево, очевидно что тут использовать text() — бессмыслица.

·>Вот удобная картинка чтобы понимать что делают разные axes:
·>Image: 7x1B0.gif

Спасибо, но пока не помогло
Маньяк Робокряк колесит по городу
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.