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(); } }