-
Notifications
You must be signed in to change notification settings - Fork 43
Let's start
Michele Salvador edited this page Mar 21, 2023
·
3 revisions
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());
}
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);
}
}