J'ai besoin d'écrire une application java qui effectue une recherche par mot-clé dans les balises et les données réelles de nombreux fichiers xml. De mes recherches en ligne, j'ai l'impression d'utiliser xalan, mais je n'arrive pas à comprendre comment l'utiliser ou ce qu'il fait. Quelqu'un pourrait-il me diriger dans la bonne direction? MerciRechercher des fichiers XML avec xalan en Java
Répondre
J'ai l'impression que vous recherchez une implémentation XPath pour Java. Cela vous permet de construire une expression de recherche et de l'appliquer à un ou plusieurs documents XML (qui doivent généralement avoir été analysés). Xalan est une option, mais il y en a d'autres. Les versions de Java commençant par Java 5 incluent l'analyse XML et les fonctionnalités XPath. Si vous utilisez une version récente de Java et souhaitez simplement analyser et rechercher dans un ensemble de documents XML, vous n'avez probablement besoin de rien d'autre que le Java SDK.
Voir cet article pour un bon (mais un peu daté) aperçu des capacités de XPath qui viennent « de la boîte »: http://www.ibm.com/developerworks/library/x-javaxpathapi.html
Voir this SO post sur la façon de faire une recherche en utilisant la fonction XPath.
Comme pour un exemple sur la façon de faire une requête XPath, je suggère de regarder le Java XPath documentation. Voici l'exemple de code qu'ils fournissent:
XPath xpath = XPathFactory.newInstance().newXPath();
String expression = "/widgets/widget";
InputSource inputSource = new InputSource("widgets.xml");
NodeSet nodes = (NodeSet) xpath.evaluate(expression, inputSource, XPathConstants.NODESET);
Ceci charger le fichier widgets.xml
et retourner un NodeSet
de tous les nœuds correspondant à l'expression.
La première chose que vous devez faire est de décider quelles données vous allez réellement rechercher. Vous dites "dans les balises et les données réelles" - cela signifie-t-il que vous ferez une recherche par mot clé pour un nom d'élément? Ou un nom d'élément et le contenu en son sein? En fonction de la complexité de vos requêtes de recherche, vous voudrez probablement utiliser un véritable moteur de recherche, tel que Lucene. Je dirai, cependant, qu'avant de prendre cette mesure, vous devez réfléchir à la façon dont vous envisagez de faire une recherche, afin de créer un index approprié.
Si vos besoins de recherche sont plus simples, vous pouvez charger les documents dans un DOM et utiliser XPath. Je suggère d'essayer cela avant de déménager à Lucene.
Vous n'avez pas besoin de Xalan; le JDK est livré avec des analyseurs XML et un évaluateur XPath. J'ai écrit quelques articles sur leur utilisation: (parsing), (xpath).
Xalan est un processeur XSLT: il vous permet d'écrire une feuille de style XSL qui transformera votre document XML source en autre chose. Il se peut que vous écriviez une transformation XSL et que vous recherchiez le résultat de la transformation.
Une autre option consiste à analyser le document avec un analyseur XML, puis à utiliser Lucene: voir Parsing, indexing, and searching XML documents with Digester and Lucene.
Vous pouvez également utiliser XPath. Tout dépend de ce que vous voulez accomplir exactement.
- 1. rechercher des fichiers texte
- 2. Rechercher des fichiers jpeg en utilisant python
- 3. travailler avec des fichiers texte en Java
- 4. XSLT avec Xalan vs STX avec Joost
- 5. Comment puis-je rechercher et remplacer en XML avec Python?
- 6. JSP XALAN Examlpe
- 7. INFO: Des fichiers JAR supplémentaires ont été ajoutés: 'xalan-2.7.0.jar'
- 8. Rechercher des fichiers sur un serveur distant
- 9. Comment rechercher des lignes avec leur représentation XML?
- 10. Comment: rechercher des noeuds enfant XML
- 11. créer des fichiers xml basés sur XSD en utilisant java xml framework
- 12. Joindre des fichiers xml avec XmlReader
- 13. fichiers xml avec C#
- 14. xsl propriété de sortie cdata-section-elements avec Xalan-J
- 15. lire des fichiers xml en vb6
- 16. Comment analyser/rechercher des instances SQL Server actives avec Java?
- 17. XML Split, dans des fichiers XML multiples
- 18. Comment indexer et rechercher des fichiers .doc
- 19. rechercher dans le registre avec Java
- 20. XSLT/Xalan: appel de apply-templates depuis une extension Java
- 21. Comment analyser les fichiers XML avancés en Java
- 22. rechercher des fichiers dans le répertoire en utilisant php
- 23. Hiérarchie XML avec propriétés Java
- 24. php scandir -> Rechercher des fichiers/répertoires
- 25. Validation XML avec plusieurs XSD en Java
- 26. XML-RPC avec java
- 27. Comment convertir des fichiers Xml en fichiers texte 2
- 28. Stockage de fichiers XML dans Java Projet
- 29. Lire des fichiers texte Unicode avec Java
- 30. Erlang: Interfaçage avec Xalan: pilote de port ou nif?