Esempio n. 1
0
        private List <AnalyzeXML> analyzeSub(string txt)
        {
            List <AnalyzeXML> aaa = new List <AnalyzeXML>();
            int a1 = txt.LastIndexOf("&>");
            int a2 = txt.LastIndexOf(">");
            int b1 = txt.IndexOf("&<");
            int b2 = txt.IndexOf("<");

            if (a2 != -1 && b2 != -1)
            {
                if (a2 > a1)
                {
                    if ((b1 != -1 && b2 < b1) || b1 == -1)
                    {
                        AnalyzeXML a = new AnalyzeXML(txt, 0);
                        if (a.error != null)
                        {
                            error = a.error;
                            return(aaa);
                        }
                        else
                        {
                            aaa.Add(a);
                        }
                        string keyEnd = "</" + a.key;
                        int    end    = txt.Length;
                        int    start  = txt.IndexOf(keyEnd) + keyEnd.Length;
                        while (start < end)
                        {
                            if (txt[start++] == '>')
                            {
                                break;
                            }
                        }
                        if (start < end)
                        {
                            string            txt2 = txt.Substring(start, end - start);
                            List <AnalyzeXML> aaa2 = analyzeSub(txt2);
                            foreach (AnalyzeXML A in aaa2)
                            {
                                aaa.Add(A);
                                if (A.error != null)
                                {
                                    error = A.error;
                                }
                            }
                        }
                    }
                }
            }
            return(aaa);
        }
Esempio n. 2
0
        public static void test()
        {
            AnalyzeXML xml_base  = new AnalyzeXML(File.ReadAllText("base.txt", Encoding.Default));
            AnalyzeXML xml_yin   = new AnalyzeXML(File.ReadAllText("yin.txt", Encoding.Default));
            AnalyzeXML xml_yangw = new AnalyzeXML(File.ReadAllText("yangw.txt", Encoding.Default));
            AnalyzeXML xml_yangy = new AnalyzeXML(File.ReadAllText("yangy.txt", Encoding.Default));

            string     txt2 = File.ReadAllText("测试数据3.txt", Encoding.Default);
            AnalyzeXML xml2 = new AnalyzeXML(txt2);

            if (xml2.error != null)
            {
                Console.WriteLine(xml2.error);
            }
            else
            {
                Console.WriteLine(xml2["NewDataSet"][0]["Table"][0]["PatientID"][0].ToString());
            }
        }