CustomXMLNode – L'atsortingbut d'élément mis à jour passe au dernier index

J'ai une partie XML personnalisée dans mon complément Excel VSTO. Dans l'un de mes éléments, j'ai 4 attributes:

<myElement attr1="Value" attr2="Value" attr3="Value" attr4="Value" /> 

Chaque fois que je met à jour l'atsortingbut a avec le code suivant:

addInXmlPart.SelectSingleNode("//XPath to Element").Atsortingbutes[1].NodeValue = "New Value";

… il déplace toujours cet atsortingbut mis à jour vers le dernier index:

 <myElement attr2="Value" attr3="Value" attr4="Value" attr1="New Value" /> 

Ceci éteint mon code parce qu'une limitation je vois est que je ne peux pas sélectionner un atsortingbut par son nom; Je dois utiliser son index.

Est-ce que quelqu'un explique pourquoi? Et si je ne peux pas l'empêcher, est-ce que quelqu'un sait comment déplacer "attr1" vers son location d'origine avec une ligne de code? À l'heure actuelle, je dois faire un hack stupide qui me oblige à réinitialiser la valeur du premier atsortingbut de sa valeur actuelle pour la ramener au dernier index jusqu'à ce que "attr1" returnne au premier index.