public void TestParser() { var gedcomParser = new GedcomReader(DataFolder + "simple.ged"); var d = XDocument.Load(gedcomParser); var xml = d.ToString(); Console.WriteLine(xml); }
static void Main(string[] args) { try { if (args.Length < 2) { Console.WriteLine("usage: <gedcomFileName> <xmlOutputFileName> [-s <xsltFileName>]"); return; } string gedcomFileName = args[0]; string outputFileName = args[1]; string xsltFileName = ""; GedcomReader gr = new GedcomReader(gedcomFileName); XmlDocument doc = new XmlDocument(); doc.Load(gr); gr.Close(); if (args.Length > 3 && args[2].Equals("-s")) { xsltFileName = args[3]; XslTransform tx = new XslTransform(); tx.Load(xsltFileName); FileStream fs = new FileStream(outputFileName, FileMode.Create); tx.Transform(doc, null, fs, null); } else doc.Save(args[1]); } catch(Exception e) { Console.WriteLine("###error: {0}", e.Message); } }
static void Main(string[] args) { GedcomFile file = GedcomReader.ToGedcomFile(@"F:\export-BloodTree.ged"); foreach (GedcomIndividual indi in file.Individuals) { Console.WriteLine(indi.ToString()); } Console.ReadLine(); }
private void xMLSpeichernToolStripMenuItem_Click(object sender, EventArgs e) { if (this.file != null) { SaveFileDialog sfd = new SaveFileDialog(); sfd.Filter = "XML-Datei (*.xml)|*.xml"; if (sfd.ShowDialog() == DialogResult.OK) { Progress progress = new Progress(); progress.Show(); progress.ReportProgress(40); GedcomReader.ToXml(this.filename).Save(sfd.FileName); progress.ReportProgress(100); progress.Close(); } } }
static void Main(string[] args) { //var logger = LoggerFactory.Create(builder => builder.AddConsole()) // .CreateLogger<RootsMagicImportService>(); //var legacyFilename = @"C:\source\FamilieImport\DataFiles\LegacyData.fdb"; //var legacyConnectionString = @"Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=" + legacyFilename + ";Uid=admin;Pwd=;"; ////var legacyConnection = new OdbcConnection(legacyConnectionString); //var rootsMagicConnectionString = @"Data Source=C:\source\FamilieImport\DataFiles\RootsMagicData.rmgc"; //var importConnectionString = @"Data Source=C:\source\FamilieImport\DataFiles\FamilieImport.db"; //var rootsMagicConnection = new SqliteConnection(rootsMagicConnectionString); //var importConnection = new SqliteConnection(importConnectionString); //var rootsMagicImportService = new RootsMagicImportService(rootsMagicConnection, importConnection, logger); //rootsMagicImportService.Import(); var gedcomFilename = @"C:\source\FamilieImport\DataFiles\LincolnFamily.ged"; try { using var sr = new StreamReader(gedcomFilename); var gedComReader = new GedcomReader(sr); foreach (var gedComLines in gedComReader.Read()) { foreach (var gedComLine in gedComLines.GedcomLines) { Console.WriteLine(gedComLine); } } } catch (Exception e) { Console.WriteLine(e.Message); } }
public static void Main(string[] args) { Console.Title = "GedcomToXml"; if (args.Length > 0) { Options commandLineOptions = new Options(); Parser.Default.ParseArguments(args, commandLineOptions); XDocument document = GedcomReader.ToXml(commandLineOptions.GedcomFile); document.Save(commandLineOptions.OutputFile); } else { Console.WriteLine("GedcomToXml"); Console.WriteLine("Copyright (c) Florian Kolb 2015"); Console.WriteLine(); Console.WriteLine("Usage:"); HelpText helpText = HelpText.AutoBuild(new Options()); helpText.FormatOptionHelpText += HelpText_FormatOptionHelpText; helpText.AddOptions(new Options()); } }
private void LoadFile(string filename) { this.filename = filename; this.Enabled = false; Progress progress = new Progress(); progress.Canceled += Progress_Canceled; progress.Show(); familyTreeView.Nodes.Clear(); progress.ReportProgress(2); this.file = GedcomReader.ToGedcomFile(filename); progress.ReportProgress(5); double increaseValue = (double)95 / file.Families.Count; double currentValue = 5; foreach (GedcomFamily family in file.Families) { if (this.progressCanceled) { break; } if (family.Children.Count == 0) { progress.ReportProgress(string.Concat("Load family ", family.Identifier)); } TreeNode famNode = new TreeNode("Familie") { ImageIndex = 3, SelectedImageIndex = 3 }; TreeNode husband = new TreeNode() { ImageIndex = 1, SelectedImageIndex = 1, Tag = family.Husband }; husband.Text = family.Husband != null?family.Husband.Name.ToString() : string.Empty; TreeNode wife = new TreeNode() { ImageIndex = 0, SelectedImageIndex = 0, Tag = family.Wife }; wife.Text = family.Wife != null?family.Wife.Name.ToString() : string.Empty; famNode.Nodes.AddRange(new TreeNode[] { husband, wife }); DateTime marriage = new DateTime(); if (family.Marriage != null && family.Marriage.Date?.Content != null && DateTime.TryParse(family.Marriage.Date.Content, out marriage)) { famNode.Nodes.Add(Guid.NewGuid().ToString(), "Heirat: " + marriage.ToShortDateString(), 2, 2); } if (family.Children.Count > 0) { progress.ReportProgress(string.Concat("Load family ", family.Identifier, " (", family.Children.Count, " children)")); TreeNode children = new TreeNode("Kinder") { ImageIndex = 3, SelectedImageIndex = 3 }; children.Nodes.AddRange(family.Children.Select(p => new TreeNode(p.Name.ToString() ) { ImageIndex = p.Sex.Content.ToLower().Equals("m") ? 1 : 0, SelectedImageIndex = p.Sex.Content.ToLower().Equals("m") ? 1 : 0, Tag = p }).ToArray()); famNode.Nodes.Add(children); } familyTreeView.Nodes.Add(famNode); progress.ReportProgress((int)currentValue); Application.DoEvents(); currentValue += increaseValue; famNode.ExpandAll(); } if (!this.progressCanceled) { familyTreeView.Nodes[0].EnsureVisible(); progress.ReportProgress(100); statusLabel.Text = string.Format("GEDCOM Source: {0} ({1})", this.file.Head.Source.Name, this.file.Head.Source.Version); } progress.Close(); this.Enabled = true; this.progressCanceled = false; if (!this.Focused) { this.Focus(); } }
private void Progress_Canceled(object sender, EventArgs e) { this.progressCanceled = true; GedcomReader.Cancel(); }