public void readFromFile() throws ParsingException,IOException {
        Builder builder = new Builder();   
        Document doc = builder.build(new File(mPath));
        Element root = doc.getRootElement();
        Elements children = root.getChildElements();
        
        mStrings = new ArrayList<StringDeclaration>();
        mIntegers = new ArrayList<IntegerDeclaration>();
        mHitboxes = new ArrayList<HitboxDeclaration>();
        mProjectiles = new ArrayList<ProjectileDeclaration>();
        mBars = new ArrayList<BarDeclaration>();
        
        Element child = null;
        for (int i = 0 ; i < children.size() ; i++) {
            child = children.get(i);
            
            if ( child.getLocalName().compareTo(StringDeclaration.ELEMENT_NAME) == 0 ) {
                mStrings.add(new StringDeclaration(child));
            } else if ( child.getLocalName().compareTo(IntegerDeclaration.ELEMENT_NAME) == 0) {
                mIntegers.add(new IntegerDeclaration(child));
            } else if ( child.getLocalName().compareTo(HitboxDeclaration.ELEMENT_NAME) == 0 ) {
                mHitboxes.add(new HitboxDeclaration(child));
            }else if ( child.getLocalName().compareTo(ProjectileDeclaration.ELEMENT_NAME)==0) {
                mProjectiles.add(new ProjectileDeclaration(child));
            } else if ( child.getLocalName().compareTo(BarDeclaration.ELEMENT_NAME)==0) {
                mBars.add(new BarDeclaration(child));
            } else throw new ParsingException("Unknown element in main file");
        }
    }