Envoyé par : pecb23
Date : 22/03/2005 09:54
Bonjour à tous,
J'essaye de récupérer les données de ma sequence rdf mais je ne vois pas comment faire.
Pour l'instant j'ai le code suivant:
var folderRes = dfService.GetResource("http://www.test.com/all"); var rdfContainerUtils = Components.classes["@mozilla.org/rdf/container-utils;1"]. createInstance(Components.interfaces.nsIRDFContainerUtils); var container = rdfContainerUtils.MakeSeq(fileDs, folderRes); alert(container.GetCount());//nombre d'élément de ma sequence elements=container.GetElements(); alert(elements.getNext());
Comment faire pour obtenir par exemple la valeur ou le predicat est name.
Merci d'avance pour votre aide!
Envoyé par : thefab
Date : 26/03/2005 00:42
En admettant que ton RDF ressemble à ça:
<test:personne rdf:about="http://www.test.com/personne/1"> <test:name>Moi</test:name> </test:personne>
Tu devrais pouvoir récupérer le contenu de name de la manière suivante (je sais pas si c'est la manière juste mais ça fonctionne si j'ai pas fait d'erreur de copie)
var rdf = Components.classes["@mozilla.org/rdf/rdf-service;1"]. getService(Components.interfaces.nsIRDFService); var name = rdf.GetResource("http://www.test.com/name"); var datasource = rdf.GetDataSourceBlocking("file:///c:/personnes.rdf"); var resources = datasource.GetAllResources(); while (resources.hasMoreElements()) { var resource = resources.getNext(); resource.QueryInterface(Components.interfaces.nsIRDFResource); var target = datasource.GetTarget(resource, nom, true); target.QueryInterface(Components.interfaces.nsIRDFLiteral); alert(target.Value); }
Je ne suis pas passé par RDFContainer mais je pense que GetAllResources() renvoie un peu la même chose...
Tu peux aussi aller voir JSLib qui permet de traiter du RDF
Il n'est plus possible de poster des messages dans ce forum.
Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.
Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™
sont des marques de la fondation Mozilla.