Beispiel #1
0
        public static void Create()
        {
            List <BbcNewsItem> newsItems = new List <BbcNewsItem>();

            using (StreamReader streamReader = new StreamReader("D:/tmp/bbc_text/bbc-text.csv"))
            {
                string line = streamReader.ReadLine();
                line = streamReader.ReadLine();
                while (line != null)
                {
                    int         commaAt  = line.IndexOf(",");
                    string      category = line.Substring(0, commaAt);
                    string      text     = line.Substring(commaAt + 1);
                    BbcNewsItem item     = new BbcNewsItem()
                    {
                        Category = category, Text = text
                    };
                    newsItems.Add(item);
                    line = streamReader.ReadLine();
                }

                streamReader.Close();
            }

            XmlDocument xmlDoc = new XmlDocument();

            xmlDoc.LoadXml("<bbc></bbc>");

            foreach (BbcNewsItem item in newsItems)
            {
                XmlElement newsElement = xmlDoc.CreateElement("news");
                newsElement.SetAttribute("category", item.Category);
                newsElement.InnerText = item.Text;
                xmlDoc.DocumentElement.AppendChild(newsElement);
            }
            xmlDoc.Save("D:/tmp/bbc_text/bbc-text.xml");
        }
        public static void Read()
        {
            XmlDocument xmlDoc = new XmlDocument();

            xmlDoc.Load("D:/tmp/bbc_text/bbc-text.xml");

            List <BbcNewsItem> newsItems = new List <BbcNewsItem>();

            using (StreamWriter streamWriter = new StreamWriter("D:/tmp/bbc_text/bbc_text_cshape.csv"))
            {
                streamWriter.Write("category,text\n");
                foreach (XmlNode node in xmlDoc.DocumentElement.ChildNodes)
                {
                    XmlElement  e        = (XmlElement)node;
                    BbcNewsItem newsItem = new BbcNewsItem();
                    streamWriter.Write(e.GetAttribute("category"));
                    streamWriter.Write(",\"");
                    streamWriter.Write(e.InnerText.Replace("\"", "\"\""));
                    streamWriter.Write("\"\n");
                }
                streamWriter.Flush();
                streamWriter.Close();
            }
        }