Hi at all,
I Should develop a java application that performs parsing xmi, and that print on a file classes with their attributes. I was able to parse and thought I'd put the names in a list of the classes and attributes in another. Unfortunately I do not know how to be able to print the classes and their attributes!
This is my code:
package mood.xmi;
import java.io.File;

import org.w3c.dom.*;
//classe che permette di creare un albero a partire da un file xml
import javax.xml.parsers.DocumentBuilderFactory;
//classe che permette di ottenere a partire da un xml un document che rappresenta il file xml
import javax.xml.parsers.DocumentBuilder;

import org.xml.sax.SAXException;
import org.xml.sax.SAXParseException;

import java.lang.String;
public class forum {
    final static String ATTRIBUTES = "UML:Attribute";

    final static String CLASSES = "UML:Class"; 

    final static String FILE_ADDRESS = "FILE.xmi";
    public static void main(String args[]) {
    	NodeList listClass;
    	NodeList listAttributes;
        try {
            DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();
            DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder();
            Document doc = docBuilder.parse(new File(FILE_ADDRESS));
             listClass = doc.getElementsByTagName(CLASSES);
            int totalClass = listClass.getLength();
            System.out.println("Total Class : " + totalClass);
           for (int i = 0; i < listClass.getLength(); i++) {
               Element link = (Element) listClass.item(i);

               System.out.println("Class= "+ link.getAttribute("name"));

            listAttributes = doc.getElementsByTagName(ATTRIBUTES);
            int totalAttributes = listAttributes.getLength();
            NodeList linksAtributesHiding = doc.getElementsByTagName(ATTRIBUTES);
            for (int i = 0; i < linksAtributesHiding.getLength(); i++) {
                Element link = (Element) linksAtributesHiding.item(i);
                System.out.println("Attribute= " + link.getAttribute("name"));
        } catch (SAXParseException err) {
            System.out.println("** Parsing error" + ", line "
                    + err.getLineNumber() + ", uri " + err.getSystemId());
            System.out.println(" " + err.getMessage());
        } catch (SAXException e) {
            Exception x = e.getException();
            ((x == null) ? e : x).printStackTrace();
        } catch (Throwable t) {