예제 #1
0
        // генерация по готовой структуре
        public string BuildXML(xsdItem newRoot, string GenPaths)
        {
            root = newRoot;
            root.RestoreParent();

            string        sOut;
            string        testName;
            List <string> Paths = null;

            testName = OutFolder + "\\" + root.Name + "_" + DateTime.Now.ToString("yyyyMMdd_HHmmss") + ".xml";

            if (GenPaths == "")
            {
                sOut = root.Generate(null).ToString();
            }
            else
            {
                Paths = new List <string>();
                string[] s = GenPaths.Split('\r');
                foreach (string s1 in s)
                {
                    if (s1.Length > 1)
                    {
                        Paths.Add(s1.Replace("\n", ""));
                    }
                }
                sOut = root.GeneratePaths(null, Paths).ToString();
            }
            File.WriteAllText(testName, sOut);
            return(testName); // sOut;
        }
예제 #2
0
        // загрузка  структуры  данных из   файла XML
        public void LoadXSD(string newXSDPath)
        {
            XSDPath = newXSDPath;
            XmlDocument xDoc = new XmlDocument();

            string sXSD = File.ReadAllText(XSDPath);

            //  patch Factor problem
            sXSD = sXSD.Replace("Провоцирующий_fslash_купирующий_фактор", "Провоцирующий_фактор");
            sXSD = sXSD.Replace("&lt;", "_меньше_");
            sXSD = sXSD.Replace("&gt;", "_больше_");

            xDoc.LoadXml(sXSD);

            nsmgr = new XmlNamespaceManager(xDoc.NameTable);
            nsmgr.AddNamespace("xs", "http://www.w3.org/2001/XMLSchema");

            StringBuilder sb = new StringBuilder();

            root = new xsdItem();

            XmlNodeList rootElements = xDoc.LastChild.ChildNodes;
            XmlElement  rootEl;

            foreach (XmlNode node in rootElements)
            {
                if (node.Name == "xs:element")
                {
                    rootEl = (XmlElement)node;
                    string Name = rootEl.GetAttribute("name");

                    root.Name = Name;
                    root.Type = "root";
                    root.oMax = "1";
                    root.oMin = "1";

                    readChild(root, rootEl);
                }
            }

            root.RestoreParent();
        }