cocoon-users-fr mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From g...@pegliasco.com
Subject Re: parsing XML dans flowscript
Date Mon, 09 Jan 2006 21:07:12 GMT
Selon Berengere.Genin@sanofi-aventis.com:

> Bonjour,
>
> Je cherche à récupérer la valeur d'un noeud d'un fichier XML, à partir de mon
> flowscript.
> Que me conseillez-vous?
> Merci pour vos bonnes idées.
> Bérengère
>
>
>


Une solution peut-être la suivante :

1) récupérer le XML du document comme suit :

var docXML = loadDocument( "cocoon://pipeline/access/to/your/xml/document");

2) récupérer le noeud recherché

processor = cocoon.getComponent(
Packages.org.apache.excalibur.xml.xpath.XPathProcessor.ROLE );

var myData = Packages.org.apache.cocoon.xml.dom.DOMUtil.getValueOf( docXML,
"/your/xpath/condition[ position() != 2 ]/@attribute", "DefaultValue",
processor);

3) fonction loadDocument

function loadDocument(uri)
{
var source = null;
var resolver = null;
var parser = null;

try
{
parser =
cocoon.getComponent(Packages.org.apache.excalibur.xml.dom.DOMParser.ROLE);
resolver =
cocoon.getComponent(Packages.org.apache.cocoon.environment.SourceResolver.ROLE);
source = resolver.resolveURI(uri);

var input = source.getInputStream()

var is = new Packages.org.xml.sax.InputSource(input);
is.setSystemId(source.getURI());

return parser.parseDocument(is);
}
finally
{
 if (source != null) resolver.release(source);
 cocoon.releaseComponent(parser);
 cocoon.releaseComponent(resolver);
}
}

---------------------------------------------------------------------
Liste francophone Apache Cocoon -- http://cocoon.apache.org/fr/
Pour vous desinscrire : mailto:users-fr-unsubscribe@cocoon.apache.org
Autres commandes : mailto:users-fr-help@cocoon.apache.org


Mime
View raw message