XPath: Как выбрать узел его атрибутом?

Хороший способ получить что-то вроде необязательных параметров - это использовать переменные аргументы. Функция фактически получает фрагмент любого типа, который вы укажете.

func foo(params ...int) {
    fmt.Println(len(params))
}

func main() {
    foo()
    foo(1)
    foo(1,2,3)
}
7
задан pistacchio 1 July 2009 в 09:33
поделиться

2 ответа

Используйте вместо него // цвет [@index = '{0}'] . Знак @ означает "атрибут".

Замечу, что вы, кстати, используете дословный строковый литерал - знак @ в начале строки. В этом случае нет необходимости - в строке нет обратной косой черты, и она не многострочная. Вам также не нужно явно вызывать ToString на проценте - он будет преобразован автоматически.

string xpath = string.Format("//color[@index='{0}']", percentage);
17
ответ дан 6 December 2019 в 06:50
поделиться

Кстати, для тех из нас, кто не говорит на родном XPath, есть много онлайн-площадок для XPath которые позволяют писать выражения XML и XPath и просматривать результаты в Интернете.

Всякий раз, когда я оказываюсь в « XPath hell », я обычно иду на эти игровые площадки и пробую различные комбинации, пока не получу свои (необходимые) результаты, по какой-то причине это работает быстрее чем писать тестовую программу на C # / Python или даже запускать эти раздутые так называемые редакторы XML.

9
ответ дан 6 December 2019 в 06:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: