begin process at 2012 02 11 13:09:07
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C#

 > 

Base de données

 > 

XML

 > 

Xpath sur un xml associé à un schéma


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Xpath sur un xml associé à un schéma

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ée 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

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,794 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales