XML-file fysiek aanmaken

Status
Niet open voor verdere reacties.

Myclos81

Gebruiker
Lid geworden
17 nov 2007
Berichten
157
Hallo luitjes,

ik heb een XML file waar ik lekker in kan lezen en schrijven maar het probleem is dat als de file niet bestaat (per ongeluk verplaatst of zo), dat hij dan checkt of hij bestaat.

Is dit dus niet zo dan zou ik willen dat hij hem aanmaakt en dan toch de data wegschrijft. Eens ik hem manueel aangemaakt heb is er geen probleem. Doe ik dit met File.Create(path) dan zegt hij dat de file reeds door een proces wordt gebruikt. Dit is de code:

private void MakenXML(XmlDocument xmlDoc)
{
File.Create(strPad + ex.SXMLNaam);

XmlDeclaration xmlDeclaration = xmlDoc.CreateXmlDeclaration("1.0", "utf-8", null);
XmlElement rootNode = xmlDoc.CreateElement("OmschrijvingLijst");
xmlDoc.InsertBefore(xmlDeclaration, xmlDoc.DocumentElement);
xmlDoc.AppendChild(rootNode);

XmlElement parentNode = xmlDoc.CreateElement("Probleem");

parentNode.SetAttribute("ID", intTeller.ToString());
xmlDoc.DocumentElement.PrependChild(parentNode);

XmlElement mainNode = xmlDoc.CreateElement("Omschrijving");
XmlElement descNode = xmlDoc.CreateElement("Datum");

XmlText omschrijvingText = xmlDoc.CreateTextNode(ex.SOmschrijving);
XmlText datumText = xmlDoc.CreateTextNode(strDatum);

parentNode.AppendChild(mainNode);
parentNode.AppendChild(descNode);

mainNode.AppendChild(omschrijvingText);
descNode.AppendChild(datumText);

xmlDoc.Save(strPad + ex.SXMLNaam); --> hier is de foutmelding :evil:
}


Ik denk dat ik ergens File.Close of zo moet doen maar die propertie bestaat niet :(
Iemand een idee ?

Alvast bedankt,
M81
 
Gebruik geen File.Create

Hoi Myclos81,

Jouw code werkt zonder problemen als je een regel verwijdert.
--> File.Create(strPad + ex.SXMLNaam);

Ik heb de procedure zonder problemen uitgevoerd met de volgende verandering:

if (File.Exists(strPad + ex.SXMLNaam)){ return;}
[hierna rest van je code]

groet,
novi
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan