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 : Xpath sur un xml associé à un schéma [ Base de données / XML ] (mathmax)

jeudi 23 novembre 2006 à 06:52:40 | Xpath sur un xml associé à un schéma

mathmax

Bonjour,
Je cherche à lire la valeur d'un noeud d'un document XML associé à un schéma. Voici le code que j'ai écris :

            XmlDocument doc = new XmlDocument();
            doc.Load(@"c:\\monDoc.xml");
            XmlNode node = doc.SelectSingleNode(@"/Root/noeud1");

Le problème est que node à toujours la valeur null.
Si j'enlève l'appel à mon schéma dans la balise Root de mon fichier XML alors node est correctement instancié.
Il semble donc que ça soit le fait que le document XML soit lié à un schéma qui empêche la lecture du chemin xPath.
Y-a t-il quelque chose à préciser en plus lorsque le fichier XML est lié à un schéma pour éviter ce problème ?

merci d'avance pour votre aide.

Mathmax


jeudi 23 novembre 2006 à 10:21:06 | Re : Xpath sur un xml associé à un schéma

MaxVen

Salut,
Essaye peut être XmlNode node = doc.SelectSingleNode(@"Root/noeud1");
Tu peux aussi tester ton path sous XmlSpy pour verifier que c'est le bon.

Max

jeudi 23 novembre 2006 à 16:47:23 | Re : Xpath sur un xml associé à un schéma

mathmax

Mon xPath est bon puisque ça marche quand j'enlève l'appel à mon schéma dans la balise Root de mon fichier XML. C'est réellement le fait que le document XML soit lié à un schéma qui pose problème. Voici comment est fait mon appel vers le schéma :
<dtsOrkosNews xmlns="http://tempuri.org/dtsOrkosNews.xsd">
...
<dtsOrkosNews>
où dtsOrkosNews est le nom de ma balise mère.
il s'agit d'un xml généré par XmlDataDocument synchronisé avec un dataset comme ceci :

            sqlConnection1.Open();
            dtaCategory.Fill(dtsOrkosNews1.CATEGORY);
            dtaInfo.Fill(dtsOrkosNews1.INFO);
            sqlConnection1.Close();
            XmlDataDocument xmlDoc = new XmlDataDocument(dtsOrkosNews1);
            XmlNode node = xmlDoc.SelectSingleNode(@"/dtsOrkosNews/CATEGORY/CAT_DESI_FR");
            XslCompiledTransform xslTran = new XslCompiledTransform();

le schéma xml du dataset est lui consultable ici.
J'espère que ça vous aidera à mieux comprendre mon problème. De mon côté, j'ai cherché partout mais je n'ai toujours rien trouvé...

Mathmax


jeudi 23 novembre 2006 à 17:00:52 | Re : Xpath sur un xml associé à un schéma

MaxVen

tu peux essayer de modifier l'appel :

<

dtsOrkosNews xmlns:ms="Recordset.Save" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="Recordset.Save http://tempuri.org/dtsOrkosNews.xsd">

Si ça ne marche pas je n'ai plus d'idée ^^

vendredi 24 novembre 2006 à 13:52:26 | Re : Xpath sur un xml associé à un schéma

kurky

Non ! tu dois lui spécifier ton namespace :

            XmlDocument doc = new XmlDocument();
            doc.Load(@"c:\\monDoc.xml");
            
            XmlNamespaceManager nsmanager = new XmlNamespaceManager(doc.NameTable);
            nsmanager.AddNamespace(String.Empty, "http://tempuri.org/dtsOrkosNews.xsd");

            XmlNode node = doc.SelectSingleNode(@"/Root/noeud1", nsmanager);


Normalement ca devrait marcher.
Aussi quand tu utilise des schéma il est bien de valider ton fichier xml par ton schéma au moment de la lecture. Ca évite des erreurs :)



C# quand tu nous tiens !!!


vendredi 24 novembre 2006 à 14:22:43 | Re : Xpath sur un xml associé à un schéma

mathmax

merci kuky, mais ça ne marche pas chez moi. Par contre en mettant la propriété NameSpace du dataset à null, le XmlDataDocument généré ne contient plus de namespace par défaut et le problème est résolu.
Sinon quelle méthode utilises-tu pour valider un document xml avec un schéma ? Est-il possible de gérer/récupérer les éventuelle erreurs ?

Mathmax


vendredi 24 novembre 2006 à 14:35:23 | Re : Xpath sur un xml associé à un schéma

kurky

cherche Xmlvalidatingreader dans les msdn :)


C# quand tu nous tiens !!!




Cette discussion est classé dans : doc, xml, schéma, associé, xpath


Répondre à ce message

Sujets en rapport avec ce message

modifier noeud fichier xml [ par jesusonline ] Voila je suis coincé et j'ai pas le temps de faire de rechercher :( alors je fais appel à vou en esperant avoir une reponse :) Voici le problème j'ai deserialisation d'un flux XML avec plusieurs namespaces [ par sesques ] Bonjour,Sans parler de Service Web car je n'utilise pas SOAP, je veux utiliser la classe XmlSerializer pour exploiter un flux XML entrant sur du HTTP. Ajout d'une XmlProcessingInstruction dans un fichier XML en c# [ par adomarle ] Bonjour, Je crée une page asp .net qui envoie par mail un fichier xml représentant le formulaire. Ce fichier xml doit être lu à partir d'un fichier XS recherche doc xml c# [ par kakol ] Bonjour,Je suis a la recherche de documentations ou tutoriaux avec exemples expliquant comment lire des fichier xml en c#, et surtout comment recupere Insertion d'un noeud dans un fichier XML [ par lePouns ] Bonjour à tous,Voici mon problème. J'ai un fichier xml comme ceci :           <user name="Gilles" best_score=" Comment relier une source de données XML dynamique à un Crystal Report Viewer ? [ par bpignier ] Bonjour à tous,Merci à tous pour vos questions sur le forum concernant les Crystal report ! Grace à vous, j'ai bien dégrossi mon probleme ! A présent parsseur RelaxNG pour doc XML [ par BOULIST ] Boulsalut, j'est besoin d'un validateur(parsseur) pour mes doc XML, mais le validateur doit valider avec un schema RelaxNG (qui est une laternative au XML et XPath [ par blueangel ] Bonjour, ma question porte sur xml et xpathnavigator. j'ai un flux xml dont voici la forme suivante:             2000         I<br Xml - TreeView : pb ^^ [ par Dami_bachelet ] Bonjour tout le monde, comment allez-vous dans ce monde de la programmation ^^ ? J'ai besion de votre aide concernant un petit prog qui utilise des do Xml Supprimer un noeud [ par Zeuth ] Voila j'aimerai supprimer un noeud dans mon fichier xml Fichier XML : Users>      Geogeo        <U


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

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

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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,328 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é.