Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Fichier Xml avec un espace de noms [ Base de données / XML ] (yanis7518)

lundi 23 avril 2007 à 16:02:19 | Fichier Xml avec un espace de noms

yanis7518

Salut à tous

voila j'essaie de parser un fichier xml qui ressemble à ça :


 <?xml version="1.0" encoding="UTF-8" ?>
-<CATALOG xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:product
= [ Lien ]
xsi:noNamespaceSchemaLocation= [ Lien ]>
-    <PRODUCT coverart="true">
        <product:ID>PRODUCTVALUE</product:ID>

j'arrive à me placer sur le noeud PRODUCT mais en essayant de récuperer la valeur "PRODUCTVALUE" il me génère une erreur de ce type

"Le gestionnaire d'espaces de noms ou XsltContext est requis. Cette requête a un préfixe, une variable ou une fonction définie par l'utilisateur."

voici mon code



XPathNavigator nav = doc.CreateNavigator();
// On ajoute la gestion des espaces de noms
XmlNamespaceManager mgr = new XmlNamespaceManager(nav.NameTable);
mgr.AddNamespace("product", "http://xxxhost.net/xml/schemas/catalog/product.xsd");
// On récupère un XPathNodeIterator sur les "PRODUCT"
XPathNodeIterator iter = nav.Select("CATALOG/PRODUCT",mgr);
// Pour chaque "PRODUCT"
while (iter.MoveNext())
{
   // On récupère l'info "product:ID"
   string firstValue = iter.Current.SelectSingleNode("product:ID").Value;
}


quelqu'un aurai-t-il une idée???

mardi 24 avril 2007 à 13:24:29 | Re : Fichier Xml avec un espace de noms

yanis7518

bonjour
bon j'ai fais une petite modification


 				
//string firstValue = iter.Current.SelectSingleNode("product:ID").Value;

string firstValue = iter.Current.SelectSingleNode("//product:ID").Value;

 				



en ajoutant "//" j'arrive à obtenir la valeur "PRODUCTVALUE" pour le 1er noeud "PRODUCT"

mais cette valeur reste la méme lorsque je parcours tous les noeuds "PRODUCT"

ya personne pour m'aider?????



mardi 24 avril 2007 à 17:02:09 | Re : Fichier Xml avec un espace de noms

ShareVB

salut,

ne serai-ce pas plutot "./product:ID" ?

ou alors, ne serait-ce pas plus simple d'utiliser MoveToFirstChild de récupérer la valeur dans Value et ensuite de faire un MoveToParent ?

ShareVB

jeudi 3 mai 2007 à 15:38:08 | Re : Fichier Xml avec un espace de noms

unowspace

Bonjour, je me permet de m'inviter dans ce thread car j'ai un problème un peu similaire. En effet, je ne dois pas parser mais écrire un fichier xml (en réalité un fichier excel au format xml) et pour cela je doit préfixer certains attributs d'un namespace. Et... impossible... Enfin c'est possibble, mais je n'y arrive pas ;( Je fais celà en c#. Si quelqu'un peut m'aider... Merci!

jeudi 3 mai 2007 à 20:45:41 | Re : Fichier Xml avec un espace de noms

ShareVB

salut,

par exemple :
-> expliqué (ou pas) simplement : http://weblogs.asp.net/sonukapoor/pages/206092.aspx
-> la référence : http://msdn2.microsoft.com/en-us/library/d1a1csew(vs.71).aspx

ShareVB

vendredi 4 mai 2007 à 11:49:30 | Re : Fichier Xml avec un espace de noms

unowspace

Merci pour ta réponse.
Depuis mon post précédent je suis arriver à préfixer mon attribut. Le problème c'est que le namespace (qui est déjà défini dans l'en-tête de mon fichier) est redéfini dans le noeud comme second attribut.

Voilà le noeud qu'il crée :
<Data ss:Type="" xmlns:ss="monNameSpace">Texte 1</Data>

Et moi je voudrais ça:
<Data ss:Type="">Texte 1</Data>

Une idée??

vendredi 4 mai 2007 à 11:58:50 | Re : Fichier Xml avec un espace de noms

ShareVB

salut,

j'ai trouvé ca : http://msdn2.microsoft.com/en-au/architecture/wkee9k2s.aspx

sinon donne un bout de code...mais regarde aussi à writestartattribute, writestring, writeendattribute...

ShareVB

vendredi 4 mai 2007 à 12:10:10 | Re : Fichier Xml avec un espace de noms

unowspace

J'ai finalement réussi avec l'aide du NamespaceManager. Je pensais que le fait de loader un fichier XML remplissait automatiquement le NamespaceManager. Et ben non!

Donc si quelqu'un rencontre le même problème, voilà ma solution :

Doc_Xml.Load("Mon_Fichier.xml");
XmlNamespaceManager tot = new XmlNamespaceManager(Doc_Xml.NameTable);
tot.AddNamespace("ss", "urn:schemas-microsoft-com:office:spreadsheet");
Nd_Data = Doc_Xml.CreateElement("Data");
XmlAttribute att = Doc_Xml.CreateAttribute("ss", "Type", "urn:schemas-microsoft-com:office:spreadsheet");
Nd_Data.SetAttributeNode(att);
Nd_Data.SetAttribute("ss:Type", "String");

ShareVB encore merci de t'être pencher sur mon problème.



Cette discussion est classé dans : http, xml, id, product, catalog


Répondre à ce message

Sujets en rapport avec ce message

tri xml par dataset [ par kulinicm ] salut,voila j'ai un fishier xml qui contient un ID un nom et un prenomle ficheir et trié par ID et moi je voudrai le trier par nom.je pensé utiliser u Bonjour [:)] [ par metasys ] Bonjour tlm, J'ai 2 questions. La premiere, j'aimerais savoir comment je fais pour aller lire dans un champ d'une Db MSSL du XML pour ensuite l'affich lecture et écriture assez Spécial [ par sebuim ] Bonjours,J'ai un xml de ce type :      http://www.aaa.com/boamp/test?id=1</ flux http et xml [ par lenoil55 ] bonjour à tous,j'ai le code suivant dans une page aspx en csharp. Ce code execute une requete http (variable sReq = <font col Communication HTTP/SOAP [ par flipzhit ] Bonjour,Je suis un débutant et je veux créer un service Web (WSDL/ASMX SOAP) en VisualStudio 2005 sous (C#) afin de formater un Service existant, mais Textboxs vers du xml [ par alphacrash ] Voilà, j'ai un soucis de créationd e fichier XML.En clair, je veux sauver dans un fichier XML des données issues de textBox, problème, j'ai une except HELP !! XML [ par JCpp ] Ça commence à m'énerver. Grrr.J'ai toujours le même problème :http://www.csharpfr.com/forum.v2.aspx?ID=155596 Help_Save_XML [ par JCpp ] J'ai un souci avec le XML.Quand je rentre une nouvelle information, les anciennes données sont perdues.Parement, il faut lire le fichier avant de ren imprimer le contenu d'un fichier xml [ par creanova2000 ] creanovabonjour je voudrai savoir comment je peux imprimer le contenu d'un fichier xmls'il vous plair est ce que vous pouver me donner un exemple.merc lecture de fichier ... [ par maevacmoi ] Hello !Je voudrais lire, depuis un site web (C#) , un fichier xml (monfichier.xml) qui se trouve sur le disque local. J'ai fait pas mal de tests, mais


Nos sponsors

Sondage...

CalendriCode

Novembre 2008
LMMJVSD
     12
3456789
10111213141516
17181920212223
24252627282930

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,218 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.