Hi at all,I am a new member but so long this forum has been a point of reference from which estrarrre important information!I need your help, and in particular I saw an old thread where we talked about parsing xmi:
How To Parsing XMI?
I must print the attribute name and the name of the classes.I have just print the attribute's name but i don't found any method that can help me to print the name's classes.
This is the code that was created by Rauff and edited by me:
Java Code:
package mood.xmi;
 
import java.io.File;

import org.w3c.dom.*;

import javax.xml.parsers.DocumentBuilderFactory;
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 METHODS = "UML:Operation";
    final static String CLASSES = "UML:Classifier.feature"; //masih salah
    final static String COUPLINGS = "UML:AssociationEnd";
    final static String CLASS_INHERITANCES = "UML:GeneralizableElement.generalization";
    final static String FILE_ADDRESS = "FP_CFP_tool_v2.xmi";
 
    public static void main(String args[]) {
        try {
 
            DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();
            DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder();
            Document doc = docBuilder.parse(new File(FILE_ADDRESS));
 
            // normalize text representation
            doc.getDocumentElement().normalize();
            System.out.println("==============================");
            System.out.println("Root element of the doc is " + doc.getDocumentElement().getNodeName());
           //print classes 
            NodeList 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 name = "+ link.getNodeName());// which metodo can i use to print the names classes?

           }
           // print attributes
            
            NodeList listAttributes = doc.getElementsByTagName(ATTRIBUTES);
            int totalAttributes = listAttributes.getLength();
            System.out.println("Total Attribute : " + totalAttributes);
            
 
            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) {
            t.printStackTrace();
        }
    }
}
Thank u at all!