// Liest die Originale XML Datei ein, und überschreibt die Knoten mit den Werten aus der Tabelle. Speichert unter neuem Namen // in alter Formatierung. (Schreibt in alte Struktur hinein) private void SpeichernAlt() { XmlDocument dom = new XmlDocument(); DataRowCollection Zeilen = Tabelle.Rows; DataRow row; XmlNode Aktiver; dom.Load(Application.StartupPath + "//ICFneu.xml"); XmlNamespaceManager nsmgr = new XmlNamespaceManager(((XmlDocument)dom).NameTable); nsmgr.AddNamespace("d2p1", "http://schemas.datacontract.org/2004/07/Geronto.Framework.Data.Classification.Model.V1"); nsmgr.AddNamespace("d4p1", "http://schemas.datacontract.org/2004/07/Geronto.Framework.Data.Foundation.Model.V1"); XmlNode root = dom.DocumentElement; Aktiver = root.SelectSingleNode(EinträgeOriginal[0], nsmgr); for (int k = 0; k < 1602; k++) { row = Zeilen[k]; Aktiver.SelectSingleNode(EinträgeOriginal[1], nsmgr).InnerText = (string)row["Beschreibung"]; Aktiver.SelectSingleNode(EinträgeOriginal[2], nsmgr).InnerText = (string)row["Code"]; Aktiver.SelectSingleNode(EinträgeOriginal[3], nsmgr).InnerText = (string)row["Pfad"]; Aktiver.SelectSingleNode(EinträgeOriginal[4], nsmgr).InnerText = (string)row["Titel"]; if (Aktiver.SelectSingleNode(EinträgeOriginal[6], nsmgr).HasChildNodes == true) { XmlNodeList Addendum = Aktiver.SelectSingleNode(EinträgeOriginal[6], nsmgr).ChildNodes; int AnzahlZusatz = Addendum.Count; if (AnzahlZusatz == 1) { if ((row.IsNull("Inklusion") == true)) { row["Inklusion"] = ""; } if ((row.IsNull("Exklusion") == true)) { row["Exklusion"] = ""; } if ((string)row["Inklusion"] != "" && (string)row["Inklusion"] != null) { Addendum[0].LastChild.InnerText = (string)row["Inklusion"]; } else { Addendum[0].LastChild.InnerText = (string)row["Exklusion"]; } } else { Addendum[0].LastChild.InnerText = (string)row["Inklusion"]; Addendum[1].LastChild.InnerText = (string)row["Exklusion"]; } } Aktiver = Aktiver.NextSibling; } dom.PreserveWhitespace = true; dom.Save("ICFneu.xml"); }
private void ICFtoTable(string Datei)//liest die XML Datei aus und füllt die Tabelle mit den Kategorien. { DataRow row; XmlNode Aktiver; XmlDocument dom = new XmlDocument(); dom.Load(Application.StartupPath + Datei); XmlNode root = dom.DocumentElement; XmlNamespaceManager nsmgr = new XmlNamespaceManager((dom).NameTable); nsmgr.AddNamespace("d2p1", "http://schemas.datacontract.org/2004/07/Geronto.Framework.Data.Classification.Model.V1"); nsmgr.AddNamespace("d4p1", "http://schemas.datacontract.org/2004/07/Geronto.Framework.Data.Foundation.Model.V1"); switch (Datei) { case "\\Struktur.xml": Ausgabe.Text = root.FirstChild.NextSibling.NextSibling.FirstChild.Name; //Aktiver = root.SelectSingleNode("//ClassificationObject",nsmgr); Aktiver = root.FirstChild.NextSibling.NextSibling.FirstChild; Ausgabe.Text = Aktiver.Name + " " + Aktiver.LocalName + " " + Aktiver.Prefix + " " + Aktiver.NamespaceURI; //Aktiver = root.SelectSingleNode(EinträgeONS[0], nsmgr); //for (int k = 0; k < 1602; k++) //{ // row = Tabelle.NewRow(); // row["id"] = k; // row["Beschreibung"] = Aktiver.SelectSingleNode(EinträgeONS[1], nsmgr).InnerText; // row["Code"] = Aktiver.SelectSingleNode(EinträgeONS[2], nsmgr).InnerText; // row["Pfad"] = Aktiver.SelectSingleNode(EinträgeONS[3], nsmgr).InnerText; // row["Titel"] = Aktiver.SelectSingleNode(EinträgeONS[4], nsmgr).InnerText; // row["AhnPfad"] = Aktiver.SelectSingleNode(EinträgeONS[8], nsmgr).InnerText; // row["OldId"] = Aktiver.SelectSingleNode(EinträgeONS[7], nsmgr).InnerText; // if (Aktiver.SelectSingleNode(EinträgeONS[6], nsmgr).HasChildNodes == true) // { // XmlNodeList Addendum = Aktiver.SelectSingleNode(EinträgeONS[6], nsmgr).ChildNodes; // foreach (XmlNode node in Addendum) // { // string caption = node.LastChild.InnerText; // if (caption[0] == 'I') // { // row["Inklusion"] = caption; // } // else // { // row["Exklusion"] = caption; // } // } // } // Tabelle.Rows.Add(row); // Aktiver = Aktiver.NextSibling; //} break; case "\\ICFneu.xml": Aktiver = root.SelectSingleNode(EinträgeOriginal[0], nsmgr); Ausgabe.Text = Aktiver.Name + " " + Aktiver.LocalName + " " + Aktiver.Prefix + " " + Aktiver.NamespaceURI; for (int k = 0; k < 1602; k++) { row = Tabelle.NewRow(); row["id"] = k; row["Beschreibung"] = Aktiver.SelectSingleNode(EinträgeOriginal[1], nsmgr).InnerText; row["Code"] = Aktiver.SelectSingleNode(EinträgeOriginal[2], nsmgr).InnerText; row["Pfad"] = Aktiver.SelectSingleNode(EinträgeOriginal[3], nsmgr).InnerText; row["Titel"] = Aktiver.SelectSingleNode(EinträgeOriginal[4], nsmgr).InnerText; row["AhnPfad"] = Aktiver.SelectSingleNode(EinträgeOriginal[8], nsmgr).InnerText; row["OldId"] = Aktiver.SelectSingleNode(EinträgeOriginal[7], nsmgr).InnerText; if (Aktiver.SelectSingleNode(EinträgeOriginal[6], nsmgr).HasChildNodes == true) { XmlNodeList Addendum = Aktiver.SelectSingleNode(EinträgeOriginal[6], nsmgr).ChildNodes; foreach (XmlNode node in Addendum) { string caption = node.LastChild.InnerText; if (caption[0] == 'I') { row["Inklusion"] = caption; } else { row["Exklusion"] = caption; } } } Tabelle.Rows.Add(row); Aktiver = Aktiver.NextSibling; } //ShiftChapterS2(); Addi520(); Delete838(); break; case "\\data.xml": Ausgabe.Text = root.SelectSingleNode("//Speicher").InnerText; Aktiver = root.SelectSingleNode(EinträgeNeu[0]); for (int k = 0; k < 1602; k++) { row = Tabelle.NewRow(); row["id"] = Aktiver.SelectSingleNode(EinträgeNeu[2]).InnerText; row["Beschreibung"] = Aktiver.SelectSingleNode(EinträgeNeu[1]).InnerText; row["Code"] = Aktiver.SelectSingleNode(EinträgeNeu[3]).InnerText; row["Pfad"] = Aktiver.SelectSingleNode(EinträgeNeu[5]).InnerText; row["Titel"] = Aktiver.SelectSingleNode(EinträgeNeu[4]).InnerText; row["Frageformulierung"] = Aktiver.SelectSingleNode(EinträgeNeu[6]).InnerText; row["Inklusion"] = Aktiver.SelectSingleNode(EinträgeNeu[7]).InnerText; row["Exklusion"] = Aktiver.SelectSingleNode(EinträgeNeu[8]).InnerText; Tabelle.Rows.Add(row); Aktiver = Aktiver.NextSibling; } break; } }