Я искал net, как установить атрибут в XMLNode. Я нашел ответы для XDocument, но не для XMLNode. Я проверяю, существует ли атрибут id в элементе, если он мне не нужен. Пока что мне не повезло. setAttribute доступен только в XDocument.
Код
Dim acronymList As XmlNodeList 'For getting the list of main/parent nodes
Dim acroterm As String
acronymList = newNode.GetElementsByTagName("acronym") 'Setting all <acronym> node to list
For Each acronym As XmlNode In acronymList 'Looping through <acronym> node
If acronym.Attributes.GetNamedItem("id") IsNot Nothing Then
existingAcro = acronym.Attributes("id").Value
For Each childnode As XmlNode In acronym 'Looping all <acronym> childnodes
If childnode.Name = "acronymTerm" Then
acroterm = childnode.InnerText
'Convert acroterm characters to lowercase
acroterm = acroterm.ToLower
acroterm = acroterm + newFICount.ToString
acronym.Attributes("id").Value = acroterm
Debug.Write(vbCr + "old acronym ID: " + existingAcro + " / new acronym ID " + acroterm)
dictionary.Add(existingAcro, acroterm)
End If
Next
Else
' Acronym Element does not have an ID assign it
' set id attribute to acroterm
End If
Next
XML Пример
<action>ESC
<acronym>
<acronymTerm>HDD</acronymTerm>
<acronymDefinition>High Definition</acronymDefinition>
</acronym>
</action>