Я нашел несколько примеров по этому вопросу. Некоторые из примеров даваемого способа изменить атрибут с SelectNodes()
или SelectSingleNode()
и другими даваемым методом для изменения атрибута с someElement.SetAttribute("attribute-name", "new value");
Изменение существующего содержимого XML на C#
Но я до сих пор путаю, что, как строить отношения, если я использовал только XpathNodeItterator it
?
предположил, что я определен ниже,
System.Xml.XPath.XPathDocument doc = new XPathDocument(xmlFile);
System.Xml.XPath.XPathNavigator nav = doc.CreateNavigator();
System.Xml.XPath.XPathNodeIterator it;
it = nav.Select("/Equipment/Items/SubItmes");
while (it.MoveNext())
{
name = it.Current.GetAttribute("name ", it.Current.NamespaceURI);
int vidFromXML = int.Parse(it.Current.GetAttribute("vid", it.Current.NamespaceURI));
if (vidFromXML = vid)
{
// How can I find the relation between it and element and node? I want to modify name attribute value.
}
}
Есть ли способ, как it.setAttribute(name, "newValue")
?
Спасибо за ваш вклад , Я изучил учебник MSDN. Я обнаружил, что метод «SetValue» использовался для обновления значения элемента, а не значения атрибута. Можно попробовать, но не удалось. Мне нужно найти способ обновить значение атрибута. –
Теперь я нашел ваше обновление. Введено 'it.MoveToAttribute()'. Я попробую сейчас. Спасибо. –
В .NET 2.0 нет 'var'. Я не могу использовать 'int.Parse (name)', когда передаю значение типа строки в 'name'. Выброс ** Строка ввода не была в правильном формате. **. Как я могу это исправить? –