C# How to write data from listview to xml and back?

  • Thread starter Thread starter Milwaukee Broad
  • Start date Start date
M

Milwaukee Broad

Guest
Here's how the data in the XML file will be formatted...


<?xml version="1.0" encoding="utf-8"?>
<Bookmark Url="Yahoo" Title="Yahoo" />
Here is what I'm using to write data from the listview to the XML file...

public void ExportListViewlToXML()
{
FileStream fileStream;
StreamWriter streamWriter;
XmlTextWriter xmlTextWriter;

try
{
// overwrite even if it already exists
fileStream = new FileStream(fileName, FileMode.Create, FileAccess.Write, FileShare.None);

streamWriter = new StreamWriter(fileStream);
xmlTextWriter = new XmlTextWriter(streamWriter);
xmlTextWriter.Formatting = Formatting.Indented;
xmlTextWriter.WriteStartDocument();
//xmlTextWriter.WriteStartElement("BookMark");

const int SUBITEM1_POS = 0;
const int SUBITEM2_POS = 1;

for (int i = 0; i < listview.Items.Count; i++)
{
String currentSubItem1 = listview.Items.SubItems[SUBITEM1_POS].Text;
String currentSubItem2 = listview.Items.SubItems[SUBITEM2_POS].Text;

xmlTextWriter.WriteStartElement("Bookmark");
xmlTextWriter.WriteAttributeString("Url", currentSubItem1.ToString());
xmlTextWriter.WriteAttributeString("Title", currentSubItem2.ToString());
xmlTextWriter.WriteEndElement();
}

xmlTextWriter.WriteEndDocument();
xmlTextWriter.Flush();
xmlTextWriter.Close();
}
catch (IOException ex)
{
MessageBox.Show(ex.ToString());
}
}
The above code is from elsewhere and it does what I want it to do. Now I need to reverse-engineer it to read the data from the XML file and load it into the listview. So far...

StreamWriter streamWriter becomes StreamReader streamReader
XmlTextWriter xmlTextWriter becomes XmlTextReader xmlTextReader

Now I need some ideas on how to write the code to read the data. Anyone?

Continue reading...
 
Back
Top