Здравствуйте, ·, Вы писали:
M>>Я могу выбрать нужный тэг Group через выражение "/Project/Targets/Target/Groups/Group[string(GroupName)=$name]" где name задается как "github_misc_stm32_meekdai_stm32_grbl", и удалить его.
M>>И — мне нужно выбрать текст (который есть пустая строка чисто для отступа, с переводом строки) перед этим тэгом, чтобы его тоже удалить и корректно модифицировать дерево, чтобы не появлялось пустых строк и прочих артефактов.
M>>Потому что если я просто удаляю найденый тег, то остается пустая строка и ненужный перевод строки, и это очень мешает
·>Что-то я наврал. preceding-sibling::text() вроде должен работать. Но он выберет все предыдущие узлы text(). Тебе нужен только один [1].
·>/Project/Targets/Target/Groups/Group[string(GroupName)=$name]/preceding-sibling::text()[1] должно работать, вроде.
Да, изначально запрос и был точно таким, я его начал упрощать для отладки, чтобы понять, кто врет. Похоже, врет мой XML/XPath движек, буду дебажить