Skip to content
Michele Salvador edited this page Mar 21, 2023 · 3 revisions

ModelParser

Opens a GEDCOM file.

ModelParser modelParser = new ModelParser();
File gedcomFile = new File("myFamily.ged");
Gedcom gedcom = modelParser.parseGedcom(gedcomFile);

Lists all persons by name.

for (Person person : gedcom.getPeople()) {
    System.out.println(person.getNames().get(0).getDisplayValue());
}

Gets one person by ID and lists all their events.

gedcom.createIndexes();
Person person = gedcom.getPerson("I1");
for (EventFact event : person.getEventsFacts()) {
    System.out.println(event.getDisplayType() + " " + event.getValue() + " " + event.getDate() + " " + event.getPlace());
}

TreeParser

Captures and displays everything of a GEDCOM file.

TreeParser treeParser = new TreeParser();
File gedcomFile = new File("myFamily.ged");
List<GedcomTag> gedcomTags = treeParser.parseGedcom(gedcomFile);
for (GedcomTag tag : gedcomTags) {
    printAll(0, tag);
}

by calling this recursive function:

void printAll(int level, GedcomTag tag) {
    String str = level++ + " ";
    if (tag.getId() != null) {
        str += "@" + tag.getId() + "@ " + tag.getTag();
    } else {
        str += tag.getTag();
        if (tag.getValue() != null) {
            str += " " + tag.getValue();
        } else if (tag.getRef() != null) {
            str += " @" + tag.getRef() + "@";
        }
    }
    System.out.println(str);
    for (GedcomTag tag2 : tag.getChildren()) {
        printAll(level, tag2);
    }
}

Clone this wiki locally