Initialement, le langage XML était uniquement destiné à remplacer le langage HTML. Cependant, à mesure que le langage continue de se développer et de s'améliorer, les gens découvrent de plus en plus ses avantages : comme un langage de balisage extensible et des dispositions de syntaxe strictes. un balisage significatif, la séparation du stockage et de la présentation du contenu et d'autres avantages ont fait du langage un brillant dès le jour de sa naissance. Le langage XML est entré dans une période de développement rapide après être devenu un standard du W3C. Bien entendu, sa propre série d'avantages et d'avantages a également amené les grands fabricants de technologies à le privilégier, en tant que technologie de développement dans l'industrie du logiciel. made En réponse, une variété d'outils ont émergé pour prendre en charge XML. Cet article présentera plusieurs technologies courantes pour traiter XML en Java dans cette perspective.
De quelles excellentes bibliothèques de classes et outils Java dispose-t-il pour faciliter le traitement du XML par les programmeurs ?
Une introduction aux trois méthodes d'analyse XML : le fameux DOM
Il n'est pas exagéré de dire qu'il est célèbre. DOM est l'API standard du W3C pour le traitement XML. Il constitue la base de nombreuses autres normes liées au traitement XML, non seulement Java, mais également d'autres langages tels que Javascript, PHP, MS.NET, etc. Cette norme est devenue la méthode de traitement XML la plus utilisée. Bien entendu, afin de fournir des fonctions de plus en plus puissantes, Java dispose de nombreuses classes d'outils d'extension directe pour DOM, telles que JDOM, DOM4J, etc., qui sont familières à de nombreux programmeurs Java. Ce sont essentiellement des extensions des fonctions d'interface DOM et les conservent. beaucoup de DOM En raison des caractéristiques de l'API, de nombreux programmeurs DOM originaux ont maîtrisé l'utilisation des deux autres sans aucun obstacle. La méthode intuitive et facile à utiliser la rend profondément appréciée par la majorité des programmeurs Java.
SAX vert et respectueux de l’environnement
L'émergence de SAX a ses besoins particuliers. Pourquoi est-il dit vert et respectueux de l'environnement ? C'est parce que SAX utilise le moins de ressources système et la méthode d'analyse la plus rapide pour prendre en charge le traitement XML. Cependant, les méthodes de recherche fastidieuses qui l'accompagnent posent également beaucoup de problèmes à la majorité des programmeurs, provoquant souvent des maux de tête. En même temps, sa prise en charge de la fonction de requête XPath fait que les gens l'aiment et la détestent.
L'obscur Digester : JavaBeanisation de XML
Digester est un projet open source de la Fondation Apache. La compréhension de l'auteur vient de la recherche sur le framework Struts. Existe-t-il de nombreux programmeurs qui souhaitent comprendre la conception des principaux frameworks open source ou même écrire eux-mêmes un framework puissant ? Vous rencontrerez un tel problème : quelle technologie est utilisée au bas du framework pour analyser ces différents fichiers de configuration du framework marqués en langage XML ? L'analyse DOM prend du temps, l'analyse SAX est trop lourde et la surcharge système de chaque analyse sera trop élevée. Par conséquent, tout le monde a pensé que les JavaBeans correspondant à la structure XML devraient être utilisés pour charger ces informations, et Digester a vu le jour. Son émergence apporte une interface d'opération pratique à la nécessité de convertir XML en objets JavaBean, afin que des besoins plus similaires puissent obtenir une solution plus parfaite, et que les programmeurs n'aient plus besoin d'implémenter eux-mêmes des procédures d'analyse aussi lourdes. Dans le même temps, SUN a également lancé la classe d'outils de conversion XML et JavaBean JAXB, et les lecteurs intéressés peuvent en apprendre davantage par eux-mêmes.
Regardons un exemple d'analyse XML Java dom :
importer java.io.*; importer org.w3c.dom.*; importer org.xml.sax.SAXException; importer javax.xml.parsers.*; public static void main(String[] args) { DocumentBuilderFactory usine = DocumentBuilderFactory.newInstance(); essayez { Générateur de documents = usine.newDocumentBuilder(); builder.parse(new File("E://work//test//xml1.xml")); NodeList nl = doc.getElementsByTagName("book"); ); i++) { System.out.println(nl.item(i).getAttributes().item(0)); System.out.println(doc.getElementsByTagName("titre").item(i) .getFirstChild().getNodeValue()); System.out.println(doc.getElementsByTagName("titre").item(i) .getAttributes ().item(0)); System.out.println(doc.getElementsByTagName("auteur").item(i) .getFirstChild().getNodeValue()); System.out.println(doc.getElementsByTagName("année").item(i) .getFirstChild ().getNodeValue()); System.out.println(doc.getElementsByTagName("price").item(i) .getFirstChild().getNodeValue()); System.out.println(); } } catch (ParserConfigurationException e) { e.printStackTrace()); ; } catch (SAXException e) { e.printStackTrace(); e.printStackTrace(); } } }
XML :
<librairie> <bookcategory="COOKING"> <title lang="fr">Italien de tous les jours</title> <auteur>Giada De Laurentiis</auteur> <année>2005</année> <prix>30,00</prix > </book> <bookcategory="ENFANTS"> <title lang="fr">Harry Potter</title> <auteur>J K. Rowling</auteur> <année>2005</année> <prix>29,99 </prix> </book> <bookcategory="WEB"> <title lang="fr">Apprentissage du XML</title> <auteur>Erik T. Ray</auteur> <année>2003</année> <prix>39,95< /prix> </livre> </librairie>
résultat:
category="CUISINE"Italien au quotidienlang="fr"Giada De Laurentiis200530.00category="ENFANTS"Harry Potterlang="fr"J K. Rowling200529.99category="WEB"Apprentissage XMLlang="fr"Erik T. Ray200339.95