示例#1
0
        // 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");
        }
示例#2
0
        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;
            }
        }