Lectures connexes:
Utilisez Ajax pour télécharger des fichiers et d'autres paramètres (développement Java)
1. Fichier XML:
Qu'est-ce que XML? XML fait généralement référence à un langage de balisage extensible, un sous-ensemble de langages généraux standard et est un langage de balisage utilisé pour marquer des fichiers électroniques pour les rendre structurels.
2. Avantages des fichiers XML:
1) Le contenu et la structure des documents XML sont complètement séparés.
2) Interopérabilité forte.
3) Standardiser et unifier.
4) prend en charge plusieurs encodages.
5) Évolutivité forte.
3. Comment analyser les documents XML:
Les documents XML d'analyse XML dans différentes langues sont les mêmes, mais la syntaxe d'implémentation est différente. Il existe deux méthodes d'analyse de base. L'une est la méthode SAX, qui analyse étape par étape dans l'ordre des fichiers XML. Une autre méthode analytique est la méthode DOM, et la clé de la méthode DOM est le nœud. Il existe également DOM4J, JDom et d'autres méthodes. Cet article présente les méthodes DOM et DOM4J et la méthode de les encapsulant dans une classe d'outils pour lire les documents XML.
4.xml Documentation:
scores.xml:
<? xml version = "1.0" Encoding = "UTF-8"?> <! DocType Students [<! Element Student (étudiant +)> <! Element étudiant (nom, cours, score)> <! AttList Student ID CDATA #RATAQUIRED> <! Element Name (#pcdata)> <! Element Course (#pcdata)> <! Element Score (#pcdata)>] <nom> Zhang San </name> <Course> Javase </course> <Score> 100 </score> </tudent> <étudiant id = "22"> <name> li si </name> <course> oracle </course> <score> 98 </score> </tudent> </udersmy>
5.dom Analyse XML
public static void main (String [] args) lève ParserConfigurationException, saxException, ioException {// 1. Créer Dom Parser Factory DocumentBuilderFactory dbf = documentBuilderFactory.newInstance (); // 2. Créer un analyseur Dom à partir de Dom Parser Factory DocumentBuilder db = dbf.newDocumentBuilder (); // 3. Analyse le document de l'analyseur DOM pour générer le document Dom Tree Doc = db.parse ("scores.xml"); // 4. Analyse l'arborescence DOM et obtient le contenu du document (texte d'attribut d'élément) //4.1 Obtenez l'élément racine scores nodelist scoresList = doc.getChildNodes (); Node scoresnode = scoresList.item (1); System.out.println (scoresList.getLength ()); //4.2 Obtenez tous les éléments enfants dans les scores de l'étudiant nodelist studentList = scoresnode.getChildNodes (); System.out.println (StudentList.GetLength ()); //4.3 Traitez chaque étudiant pour (int i = 0; i <étudiantList.getLength (); i ++) {node STOMODE = StudentList.Item (i); //System.out.println (STOMODODE.GETNODETYPE ()); // L'ID d'attribut de l'élément de sortie if (STOMODE.GETNODETYPE () == Node.Element_Node) {Element elem = (élément) STOMODE; String id = elem.getAttribute ("id"); System.out.println ("id ------>" + id); } // Les éléments de l'enfant de l'élément de sortie du nom du cours Score NodeList ncsList = STOMODODE.GETCHILDNODES (); //System.out.println (ncslist.getLength ()); for (int j = 0; j <ncslist.getLength (); j ++) {node ncs = ncsList.item (j); if (ncs.getNodeType () == node.element_node) {String name = ncs.getNodeName (); // string value = ncs.getFirstChild (). GetNodevalue (); // le texte est un enfant d'un élément, vous devez donc obtenir la valeur de chaîne de firstchild = ncs.getTextContent (); System.out.println (nom + "----->" + valeur); }} System.out.println (); }}6. Dom4j Méthode Analyse des documents XML:
public static void main (String [] args) lève DocumentException {// Utiliser Dom4j pour analyser les scores2.xml, générer Dom Tree saxReader Reader = new saxReader (); Document doc = reader.read (nouveau fichier ("scores.xml")); // Obtenez le nœud racine: élément des élèves root = doc.getRootelement (); // Obtenez tous les nœuds enfants des élèves: Étudiant iterator <element> it = root.ementiterator (); // entraîner chaque élève while (it.hasnext ()) {// Obtenez chaque élément étudiant Stuélem = it.next (); //System.out.println(STuelem); // Sortie des attributs de l'étudiant: ID List <attribute> attlist = Stu faitm.attributes (); pour (attribut att: attlist) {string name = att.getName (); String value = att.getValue (); System.out.println (nom + "----->" + valeur); } // Sortie des éléments enfants de l'élève: nom, cours, score itérateur <element> it2 = stuélem.elementIterator (); while (it2.hasnext ()) {element elem = it2.next (); String name = elem.getName (); String text = elem.getText (); System.out.println (nom + "----->" + texte); } System.out.println (); }}Bien sûr, peu importe la façon dont nous analysons XML, nous devons importer le package JAR (n'oubliez pas).
7. Ma propre façon:
Dans les projets de développement réels, nous devons être bons pour utiliser les classes d'outils et encapsuler les fonctions que nous utilisons à plusieurs reprises dans une classe d'outils. Par conséquent, la méthode suivante est la façon dont je l'utilise pendant le processus de développement.
7.1 Quels sont les fichiers de propriétés:
7.1.1 structurellement:
Les fichiers .xml sont principalement des fichiers d'arbre.
Le fichier .properties existe principalement sous la forme de paires de valeurs clés de la valeur clé.
7.1.2 d'un point de vue flexible:
Les fichiers .xml sont plus flexibles que les fichiers .properties.
7.1.3 d'un point de vue pratique:
Le fichier .properties est plus facile à configurer que le fichier .xml.
7.1.4 du point de vue de l'application:
.Properties Les fichiers conviennent plus aux projets petits et simples car .xml est plus flexible.
7.2 VOTRE PROPRES PROPRIÉTÉ DOCUMENTATION:
J'ai créé un fichier path.properties dans mon propre projet, qui est utilisé pour stocker le chemin que j'utiliserai et stocké sous la forme de nom = valeur. Par exemple:
realPath = d: / file /
7.3 analyse votre propre fichier .properties:
Public Class PropertiesUtil {Private Static PropertiesUtil Manager = null; Private Static Object ManagerLock = new Object (); Private Object PropertiesLock = new Object (); Database de chaîne statique privée_config_file = "/path.properties"; Propriétés privées Propriétés = NULL; Public Static PropertiesUtil getInstance () {if (manager == null) {synchronisé (managerlock) {if (manager == null) {manager = new PropertiesUtil (); }}} return Manager; } Private PropertiesUtil () {} public static String getProperty (String name) {return getInstance () ._ getProperty (name); } chaîne privée _GetProperty (nom de chaîne) {initProperty (); String Property = Properties.GetProperty (Name); if (propriété == null) {return ""; } else {return property.trim (); }} public static énumération <?> PropertyNames () {return getInstance () ._ PropertyNames (); } énumération privée <?> _propertyNames () {initProperty (); return properties.propertyNames (); } private void initproperty () {if (Properties == null) {synchronisé (PropertiesLock) {if (Properties == null) {loadProperties (); }}}} private void loadProperties () {Properties = new Properties (); InputStream dans = null; essayez {in = getClass (). getResourceAsStream (database_config_file); propriétés.load (in); } catch (exception e) {System.err .println ("Erreur Reading Conf Properties in PropertiesUtil.loadProps ()" + e); e.printStackTrace (); } enfin {try {in.close (); } catch (exception e) {}}} / ** * Fournir un chemin de fichier de configuration * * @param filepath * @return * / public Properties LoadProperties (String filepath) {Properties Properties = new Properties (); InputStream dans = null; essayez {in = getClass (). getResourceAsStream (filepath); propriétés.load (in); } catch (exception e) {System.err .println ("Erreur Reading Conf Properties in PropertiesUtil.loadProperties ()" + e); e.printStackTrace (); } enfin {try {in.close (); } catch (exception e) {}} Return Properties; }} Avant de l'utiliser, nous n'avons qu'à joindre une valeur à la propriété DATABASE_CONFIG_FILE , qui est le nom de notre fichier .properties. Lorsque vous l'utilisez, nous pouvons utiliser directement le nom de classe. getProperty(“realPath”); Pour obtenir le contenu avec la clé du fichier .properties qui est RealPath.
Ce qui précède est la méthode de lecture des fichiers de configuration XML et de propriétés dans le développement Java qui vous est présenté par l'éditeur. J'espère que cela vous sera utile. Si vous avez des questions, laissez-moi un message et l'éditeur vous répondra à temps!