コード例 #1
0
ファイル: Program.cs プロジェクト: RenKelvin/WordsssDB
        static void Main(string[] args)
        {
            XmlDocument doc = new XmlDocument();
            doc.Load("PWREE.da3");

            XmlNode dict = doc.ChildNodes[1];

            XmlNodeList dcList = dict.SelectNodes("单词块");

            FileStream fs = new FileStream("result.txt",FileMode.Create);
            StreamWriter writer = new StreamWriter(fs);

            WordsssDB.WordsssDBManager manager = new WordsssDB.WordsssDBManager();

            int i = 0;
            foreach (XmlNode dcNode in dcList)
            {
                XmlNode xgNode = dcNode.SelectSingleNode("单词解释块/基本词义/单词项/相关词");
              //          if(xgNode != null)
                Regex patter1 = new Regex("l{[a-z.A-Z]+}");
                MatchCollection matches = patter1.Matches(xgNode.InnerText);

                XmlNode wordNode = dcNode.SelectSingleNode("单词");

                string base_word = wordNode.InnerText;
                writer.WriteLine(wordNode.InnerText);
                if(matches.Count != 0)
                    writer.WriteLine("<1>");
                foreach(Match word in matches)
                {
                    string rep = word.ToString().Replace("l{", "");
                    rep = rep.Replace("}", "");
                    writer.WriteLine("  " + rep);
                    if (manager.addAntonym(base_word, rep) == -1)
                    {
                        writer.WriteLine("FAILED");
                    }
                }

                Regex pattern2 = new Regex("L{[a-z.A-Z]+}");
                MatchCollection matches2 = pattern2.Matches(xgNode.InnerText);
                if(matches2.Count != 0)
                    writer.WriteLine("<2>");
                foreach (Match word in matches2)
                {
                    string rep = word.ToString().Replace("L{", "");
                    rep = rep.Replace("}", "");
                    writer.WriteLine("  " + rep);
                    if (manager.addSynonym(base_word, rep) == -1)
                    {
                        writer.WriteLine("FAILED");
                    }
                }
                if(i++ % 100 == 0)
                Console.WriteLine(i);
            }
            writer.Close();
        }