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
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)
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
;)
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)