Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Il existe de nombreuses façons de modifier les nœuds et le contenu d’un document. Vous pouvez:
Modifiez la valeur des nœuds à l’aide de la Value propriété.
Modifiez l’ensemble d’un ensemble de nœuds en remplaçant les nœuds par de nouveaux nœuds. Cette opération est effectuée à l’aide de la InnerXml propriété.
Remplacez les nœuds existants par de nouveaux nœuds à l’aide de la RemoveChild méthode.
Ajoutez des caractères supplémentaires aux nœuds qui héritent de la classe XmlCharacterData en utilisant les méthodes AppendData, InsertData ou ReplaceData.
Modifiez le contenu en supprimant une plage de caractères à l’aide de la méthode DeleteData sur les types de nœuds qui héritent de XmlCharacterData.
Une technique simple pour modifier la valeur d’un nœud consiste à utiliser node.Value = "new value";. Le tableau suivant répertorie les types de nœuds sur lesquels cette seule ligne de code fonctionne et quelles données de ce type de nœud sont précisément modifiées.
| Type de nœud | Données modifiées |
|---|---|
| Caractéristique | Valeur de l’attribut. |
| CDATASection | Le contenu de la section CDATA. |
| Commentaire | Contenu du commentaire. |
| Instruction de traitement | Le contenu, sauf la cible. |
| Texto | Contenu du texte. |
| Déclaration XML | Contenu de la déclaration, à l’exclusion du balisage <?xml et du balisage ?>. |
| Espace blanc | Valeur de l’espace blanc. Vous pouvez définir la valeur sur l’un des quatre espaces blancs XML reconnus : espace, onglet, CR ou LF. |
| SignificantWhitespace | Valeur de l’espace blanc significatif. Vous pouvez définir la valeur sur l’un des quatre espaces blancs XML reconnus : espace, onglet, CR ou LF. |
Tout type de nœud non répertorié dans la table n’est pas un type de nœud valide sur lequel définir une valeur. La définition d’une valeur sur tout autre type de nœud génère un InvalidOperationException.
La InnerXml propriété modifie le balisage des nœuds enfants pour le nœud actuel. Sa définition remplace les nœuds enfants par le contenu analysé de la chaîne donnée. L’analyse est effectuée dans le contexte d’espace de noms actuel. En outre, InnerXml supprime les déclarations d’espace de noms redondantes. Par conséquent, de nombreuses opérations couper-coller n’augmentent pas la taille de votre document avec des déclarations d’espace de noms redondantes. Pour obtenir un exemple de code montrant l’effet des espaces de noms sur l’opération InnerXml , consultez la InnerXml propriété.
Lorsque vous utilisez les méthodes ReplaceData et RemoveChild, elles retournent le nœud remplacé ou supprimé. Ce nœud peut ensuite être réinséré ailleurs dans le dom (Document Object Model) XML. La ReplaceData méthode effectue deux vérifications de validation sur le nœud inséré dans le document. Le premier vérifie si le nœud en question devient un enfant d'un nœud pouvant comporter des nœuds enfants de ce type. La deuxième vérification garantit que le nœud inséré n’est pas un ancêtre du nœud dont il devient un enfant. Si l'une de ces deux conditions est enfreinte, un objet InvalidOperationException est levé.
L'ajout ou la suppression d'un enfant en lecture seule d'un nœud modifiable est une opération valide. Toutefois, les tentatives de modification du nœud en lecture seule lui-même génèrent une erreur InvalidOperationException. C'est le cas, par exemple, lorsque vous modifiez les enfants du nœud XmlEntityReference. Ces enfants sont en lecture seule et ne peuvent donc pas être modifiés. Toute tentative de modification déclenche un InvalidOperationException.