J'ai vu de nombreux exemples sur la façon de lire des fichiers XML en Java. Mais ils ne montrent que des fichiers XML simples. Par exemple, ils montrent comment extraire les noms et prénoms d'un fichier XML. Cependant, j'ai besoin d'extraire des données à partir d'un fichier XML collada. Comme ceci:Comment analyser les fichiers XML avancés en Java
<library_visual_scenes>
<visual_scene id="ID1">
<node name="SketchUp">
<instance_geometry url="#ID2">
<bind_material>
<technique_common>
<instance_material symbol="Material2" target="#ID3">
<bind_vertex_input semantic="UVSET0" input_semantic="TEXCOORD" input_set="0" />
</instance_material>
</technique_common>
</bind_material>
</instance_geometry>
</node>
</visual_scene>
</library_visual_scenes>
Ceci est seulement une petite partie d'un fichier collada. Ici, j'ai besoin d'extraire l'id de visual_scene, puis l'URL de instance_geometry et la cible de instance_material. Bien sûr, j'ai besoin d'extraire beaucoup plus, mais je ne comprends pas comment l'utiliser vraiment et c'est un bon point de départ.
J'ai ce code à ce jour:
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = null;
try {
builder = factory.newDocumentBuilder();
}
catch(ParserConfigurationException error) {
Log.e("Collada", error.getMessage()); return;
}
Document document = null;
try {
document = builder.parse(string);
}
catch(IOException error) {
Log.e("Collada", error.getMessage()); return;
}
catch(SAXException error) {
Log.e("Collada", error.getMessage()); return;
}
NodeList library_visual_scenes = document.getElementsByTagName("library_visual_scenes");
Il semble que la plupart des exemples sur le web est similaire à celui-ci: http://www.easywayserver.com/blog/java-how-to-read-xml-file/
J'ai besoin d'aide pour déterminer ce qu'il faut faire quand je veux extraire des balises plus profondes ou trouver un bon tutoriel sur la lecture/l'analyse des fichiers XML.
Je voudrais utiliser 'javax.xml.xpath' si le XML n'est pas très grand, et un filtre d'événements SAX sinon. – khachik
Ou XMLBeans, ou JAXB, ou ... – bmargulies
Jetez un coup d'oeil à: http://www.saxproject.org/quickstart.html – krico