Obtenir des attributs et des valeurs à partir d'un fichier XML en Java

Supposons que vous souhaitiez obtenir les attributs et les valeurs d'une balise fuga à partir d'un fichier xml comme celui ci-dessous.

<?xml version="1.0" encoding="UTF-8" ?>
<hoge>
  <fuga id="1" name="tarou" age="20" gender="male">example</fuga>
</hoge>

Je veux sortir comme suit


id,1
name,tarou
age,20
gender,male

Il peut être généré par le code suivant

python


package example;

import java.io.File;

import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;

public class example {
	public static void main(String[] args) {
		try {
			DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
			DocumentBuilder builder = factory.newDocumentBuilder();
			Document doc = builder.parse(new File("example.xml"));
			Element hoge = doc.getDocumentElement();
			NodeList fugaList = hoge.getChildNodes();

			for(int i=0; i<fugaList.getLength(); i++) {
				Node fuga = fugaList.item(i);
				if(fuga.getNodeType()==Node.ELEMENT_NODE) {
					//Maintenant, récupérez la liste des attributs
					NamedNodeMap nnm = fuga.getAttributes();
					for(int j=0; j<nnm.getLength(); j++) {
						Node fugaNameNode = nnm.item(j);/
                        //Attribut et valeur de sortie
						System.out.println(fugaNameNode.getNodeName()+","+fugaNameNode.getNodeValue());
					}
				}
			}
		} catch(Exception e) {
			e.printStackTrace();
		}
	}
}

résultat


age,20
gender,male
id,1
name,tarou

Postscript

Il semble que l'ordre de sortie ne correspond pas. NamedNodeMap ne semble pas garantir la commande

Recommended Posts

Obtenir des attributs et des valeurs à partir d'un fichier XML en Java
Soustraire les constantes Enum des chaînes et des valeurs en Java
[Java] Exemple de programme qui acquiert les valeurs maximum et minimum d'un tableau
[Développement Android] Obtenez des images du serveur avec Java et définissez-les dans ImageView! !!
Obtenir des valeurs de carte nulles en Java
Obtenez facilement des entiers à partir des propriétés système en Java
Obtenir une collection non vide à partir d'un flux facultatif avec java
Note n ° 1 "Comptage et affichage des valeurs en double dans un tableau" [Java]
Comment obtenir la longueur d'un fichier audio avec Java
Obtenir l'historique du serveur Zabbix en Java
[Java8] Recherchez le répertoire et récupérez le fichier
Lors de l'appel de println etc. à partir d'un fichier de classe Java externe en traitement
Comment obtenir une classe depuis Element en Java
Capture et sauvegarde de l'installation de sélénium en Java
Obtenez unixtime (secondes) de ZonedDateTime dans Scala / Java
[Java] Obtenir plusieurs valeurs à partir d'une valeur de retour
[Java] Récupère des valeurs de manière aléatoire dans un tableau
[Android] Obtenez des clés et des valeurs aléatoires à partir de HashMap
Générer OffsetDateTime à partir de Clock et LocalDateTime en Java
[Java] Obtenir KFunction à partir de la méthode / du constructeur en Java [Kotlin]
[Java] Convertir et importer des valeurs de fichier avec OpenCSV
Formater XML en Java
[Java] Récupère le fichier dans le fichier jar quel que soit l'environnement
JSON en Java et Jackson Partie 1 Renvoyer JSON à partir du serveur
Obtenir des informations EXIF en Java
Obtenez les prévisions météorologiques de Watson Weather Company Data avec Java simple
Implémentez l'interface Java dans la classe JRuby et appelez-la depuis Java
Obtenir des informations dans une instance et calculer des nombres Version standard
Que s'est-il passé dans «Java 8 to Java 11» et comment créer un environnement
Corrigez le code de caractère en Java et lisez à partir de l'URL
Générer AWS Signature V4 en Java et demander l'API
Générer un flux à partir d'un tableau de types primitifs en Java
Implémenter la signature XML en Java
[Java] Obtenez les dates des derniers lundi et dimanche dans l'ordre
[Java] Obtenir des données de la base de données à l’aide du service singleton dans Spring (Boot)
Après avoir basculé entre les versions Java 8 et 11, une erreur se produit lors de la confirmation
[Java] Comment convertir du type String en type Path et obtenir le chemin
Lire le fichier de propriétés Java en C #
Générer HashMap à partir du fichier de ressources XML
Exemple d'encodage et de décodage en Java
Obtenir le pays à partir de l'adresse IP (Java)
Arguments Java, valeurs de retour et surcharges
Exécuter le fichier de commandes à partir de Java
Décompressez le fichier zip en Java
[Java] Déclarer et initialiser un tableau
Essayez une expression If en Java
Enregistrer la sortie dans un fichier en Java
Classe StringBuffer et StringBuilder en Java
Ecrire des clés et des valeurs dans Ruby
Comprendre equals et hashCode en Java
J'ai fait une annotation en Java.
A propos du traitement de la copie de fichiers en Java
Restez coincé dans un Java Primer
Bonjour tout le monde en Java et Gradle
Exécuter un processus externe en Java
JSON en Java et Jackson Part ③ Incorporer JSON dans HTML et l'utiliser à partir de JavaScript
Exemple de code pour obtenir les valeurs de type JDBC clés dans la base de données Java + H2