Salve a tutti, spero che qualcuno mi possa aiutare riguardo il seguente problema. Ho un file xml all'iterno del quale si trovano due tag uguali (<id>) con lo stesso nome e gli stessi attributi, ma i valori di questi attributi devono essere differenti:

<recordTarget>
<patientRole>
<id extension="$GLCDA$" root="$COD1$" assigningAuthorityName="$IDGLCDA$"/>
<id extension="$CODICEFISCALE$" root="$COD2$" assigningAuthorityName="$NNN$"/>
</patientRole>
</recordTarget>

I due tag "<id>" hanno gli stessi attributi, purtroppo riesco ad effettuare le modifiche solo al promo tag, il secondo mi rimane invariato. Per il codice sto utilizzando MSXML. Di seguito il codice che ho scritto:

Set Lista_id = patientRoleTag.getElementsByTagName("id")
For i = 0 To (Lista_id.length - 1)
Set NodoXml = Lista_id.nextNode
If i = 0 Then
Set elementoFiglio = patientRoleTag.selectSingleNode(NodoXml.nodeName)
Set objAttribElemento = obj.createAttribute("extension")
objAttribElemento.nodeValue = "$GLCDA$"
elementoFiglio.setAttributeNode objAttribElemento
Set objAttribElemento = obj.createAttribute("root")
objAttribElemento.nodeValue = "$COD1$"
elementoFiglio.setAttributeNode objAttribElemento
Set objAttribElemento = obj.createAttribute("assigningAuthorityName")
objAttribElemento.nodeValue = "$IDGLCDA$"
elementoFiglio.setAttributeNode objAttribElemento
ElseIf i = 1 Then
' IL SECONDO ID NON VIENE SCRITTO
MsgBox NodoXml.Text
Set elementoFiglio = patientRoleTag.selectSingleNode(NodoXml.nodeName)
Set objAttribElemento = obj.createAttribute("extension")
objAttribElemento.nodeValue = "$CODICEFISCALE$"
elementoFiglio.setAttributeNode objAttribElemento
Set objAttribElemento = obj.createAttribute("root")
objAttribElemento.nodeValue = "$COD2$"
elementoFiglio.setAttributeNode objAttribElemento
Set objAttribElemento = obj.createAttribute("assigningAuthorityName")
objAttribElemento.nodeValue = "$NNN$"
elementoFiglio.setAttributeNode objAttribElemento
End If
Next

Spero di essere stato abbastanza chiaro. Salve.