F
Fraser
Hi,
I'm needing to update an xml file by inserting a new node. First I need to
load the xml into a XmlDocument from file.
In the first run, the file won't exist and I will have to create a new
XmlDocument. What is the best way to do this ?
I'm thinking just catching an exception and building a new doc isn't the
best way of doing this.
If i check to see if the file exists, this is not neccessarily the best way
since the file might be corrupt. I can program this, but I'm asking for
advice on the best way of doing this. Can anyone advise me?
public void savePlayer()
{
XmlDocument xmldoc = new XmlDocument();
XmlNode members;
try
{
StreamReader xmlfile = new StreamReader("members.xml");
xmldoc.Load(xmlfile);
xmlfile.Close();
//get the members node
members = xmldoc.DocumentElement;
}
catch
{
//the file doesn't exist so we must create a new document
//let's add the XML declaration section
XmlNode xmlnode=xmldoc.CreateNode(XmlNodeType.XmlDeclaration,"","");
xmldoc.AppendChild(xmlnode);
//let's add the node element
members = xmldoc.CreateElement("members");
xmldoc.AppendChild(members);
}
XmlNode member = xmldoc.CreateElement("member");
//the display name
XmlElement displayname = xmldoc.CreateElement("displayname");
XmlText displayname_value = xmldoc.CreateTextNode("value");
displayname.AppendChild(displayname_value);
member.AppendChild(displayname); //add the username to the player
members.AppendChild(player);
xmldoc.Save("members.xml");
}
I'm needing to update an xml file by inserting a new node. First I need to
load the xml into a XmlDocument from file.
In the first run, the file won't exist and I will have to create a new
XmlDocument. What is the best way to do this ?
I'm thinking just catching an exception and building a new doc isn't the
best way of doing this.
If i check to see if the file exists, this is not neccessarily the best way
since the file might be corrupt. I can program this, but I'm asking for
advice on the best way of doing this. Can anyone advise me?
public void savePlayer()
{
XmlDocument xmldoc = new XmlDocument();
XmlNode members;
try
{
StreamReader xmlfile = new StreamReader("members.xml");
xmldoc.Load(xmlfile);
xmlfile.Close();
//get the members node
members = xmldoc.DocumentElement;
}
catch
{
//the file doesn't exist so we must create a new document
//let's add the XML declaration section
XmlNode xmlnode=xmldoc.CreateNode(XmlNodeType.XmlDeclaration,"","");
xmldoc.AppendChild(xmlnode);
//let's add the node element
members = xmldoc.CreateElement("members");
xmldoc.AppendChild(members);
}
XmlNode member = xmldoc.CreateElement("member");
//the display name
XmlElement displayname = xmldoc.CreateElement("displayname");
XmlText displayname_value = xmldoc.CreateTextNode("value");
displayname.AppendChild(displayname_value);
member.AppendChild(displayname); //add the username to the player
members.AppendChild(player);
xmldoc.Save("members.xml");
}