[WD16] XML : sélection d'un noeud en .NET

Le
Bruno
Bonjour,

J'ai un fichier XML auquel je dois ajouter une signature numerique.
Pour ce faire, j'utilise (avec beaucup de difficulte) du .NET.
J'arrive à fabriquer la signature et je cherche à l'inserer à un
endroit précis du fichier (j'arrive seulement à l'inserer à la racine).
J'essaye de sélectionner un noeud mais cela ne fonctionne pas.

Voici mon code :

Entete est System.Xml.XmlNode dynamique =
MonDocXML.SelectSingleNode("/root/monnoeud")

SI Entete = Null ALORS
Erreur("noeud non trouvé")
RETOUR
FIN


Entete.AppendChild(MonDocXML.ImportNode(lXMlDigitalSignature,True))

ma variable entete est toujours égal à Null.

Help !!

Merci

--
Bruno A

suivre ce lien pour répondre :
http://cerbermail.com/?TF4s3h4ejs
;)
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Bruno
Le #24072121
Bruno a couché sur son écran :
Bonjour,


Voici mon code :

Entete est System.Xml.XmlNode dynamique =
MonDocXML.SelectSingleNode("/root/monnoeud")

SI Entete = Null ALORS
Erreur("noeud non trouvé")
RETOUR
FIN


Entete.AppendChild(MonDocXML.ImportNode(lXMlDigitalSignature,True))




J'ai trouvé : ma balise racine contient un namespace (xmlns='urn:etc')
On est donc obligé de définir un namespace pour la recherche :
lXMLNameSpaceManager est un XmlNamespaceManager(MonDocXML.NameTable)
lXMLNameSpaceManager.AddNamespace("ns", "urn:etc")
Entete est System.Xml.XmlNode dynamique =
MonDocXML.SelectSingleNode("//ns:monnoeud",lXMLNameSpaceManager)

avec ça l'ajout fonctionne car Entete <> Null

--
Bruno A

suivre ce lien pour répondre :
http://cerbermail.com/?TF4s3h4ejs
;)
Publicité
Poster une réponse
Anonyme