J'ai un fichier kml (essentiellement xml) qui contient un ensemble de nœuds; le nom, la description, les coordonnées, etc. Jusqu'à présent, je n'avais que deux valeurs; nom et coordonnées. Maintenant, je veux aussi obtenir les données de description, le seul problème est que c'est CData et quand il est analysé, il est ignoré. J'ai utilisé XQuery pour obtenir les données jusqu'à présent;Utilisation de XQuery en Java pour extraire des CData à partir d'un fichier xml
XPathExpression expr = xpath.compile("//name/text()");
Object result = expr.evaluate(doc, XPathConstants.NODESET);
NodeList nodes = (NodeList) result;
for...
Dans le fichier kml sa juste <! [CDATA [.....]> par opposition à "101" (une chaîne réelle) En utilisant la même requête ne renvoie rien.
Le fichier kml a la structure:
<Document>
<Placemark>
<name>101</name>
<description><![CDATA[.....]]></description>
<polygon>
<coordinates>......</coordinates>
</polygon>
</Placemark>
<Placemark>
....
</Placemark>
</Document>
Est-il possible de le faire par XQuery?
Poster exemple de votre KML – iTech
la structure kml est maintenant inclus aussi bien –
Qu'est-ce XPath utilisez-vous pour sélectionner la description? '// description/text()'? Les informations contenues dans le CDATA doivent être renvoyées en tant que contenu 'text()'. –