<location>
<hotspot name="name1" X="444" Y="518" />
<hotspot name="name2" X="542" Y="452" />
<hotspot name="name3" X="356" Y="15" />
</location>
У меня есть переменная точки, и мне нужно выбрать узел с его координатами, а затем изменить значение атрибута. Я хочу сделать что-то похожее на:Выберите узел XML по значению атрибута
let node = xmld.SelectSingleNode("/location/hotspot[@X='542' @Y='452']")
node.Attributes.[0].Value <- "new_name2"
но принимает значения атрибутов с помощью переменной (variable_name.X/variable_name.Y).
Не могли бы вы просто перебрать, сравнить атрибуты, а затем изменить правильный? –
Чтобы иметь строго типизированный класс для XML-файла, вы должны десериализовать XML для объекта. Взгляните на утилиту xsd, чтобы сгенерировать базовый код. В противном случае ... просто реализуйте пользовательский ридер, ваш код будет использовать читатель, и он получит только структуры (а не raw XML). –