Hej! Du gör väl fel. Det vore något att koda i! Eftersom du inte har angett att den skall appenda så skriver den ju över varje gång. Testa: ok.. jag fick det att fungera men nu får jag Ladda in filen i ditt Dataset först, sedan lägger du till din post, sedan sparar du..Min rad i xml skrivs över
Jag sparar ner data i en xml fil, men när jag sparar så skrivs bara data över i ställer för att skriva en ny rad..
Hur gör jag då..
/phinalaSv: Min rad i xml skrivs över
Vad kodar du i? COBOL?
*hint* - berätta lite mer om ditt problem...
OlaSv: Min rad i xml skrivs över
Ok sorry! hahaha....
jag kör asp.net. VB
JO!
Har en xmlfil som heter order
Strukturen i den är
<code>
<Order>
<modulid>
<ModulId>1</ModulId>
<Modulnamn>1</Modulnamn>
<modulid>
</Order>
</code>
När jag nu lägger till en rad så skriver den bara över i stället för att lägga till som nedan.
<code>
<Order>
<moduls>
<ModulId>1</ModulId>
<Modulnamn>Hasse</Modulnamn>
<moduls>
</Order>
<Order>
<moduls>
<ModulId>2</ModulId>
<Modulnamn>Pelle</Modulnamn>
<moduls>
</Order>
</<ode>
koden för att skriva till filen är:
<code>
Dim ds As DataSet = New DataSet("Order")
' Skapa DataSet
' Skapa en ny tabell i mitt DataSet
ds.Tables.Add(New DataTable("Moduls"))
' Lägg till en kolumn av typen sträng
ds.Tables(0).Columns.Add(New DataColumn("ModulID"))
ds.Tables(0).Columns.Add(New DataColumn("Modulnamn"))
Dim myRow As DataRow
myRow = ds.Tables(0).NewRow()
' Skapa en ny rad och sätt värdet på kolumnen Name
myRow("ModulID") = viewstate("modid")
myRow("Modulnamn") = viewstate("Moname")
' Lägg till den nyskapade raden i min tabell i DataSetet
ds.Tables(0).Rows.Add(myRow)
' Spara ned DataSetet som Xml
ds.WriteXml(Server.MapPath("Order.xml"))
'Sparat och klart
</code>
så vad blir felet?
/phinalaSv: Min rad i xml skrivs över
<code>
System.IO.FileStream myFileStream = new System.IO.FileStream(Server.MapPath("Order.xml", System.IO.FileMode.Append)
// Create an XmlTextWriter with the fileStream.
System.Xml.XmlTextWriter myXmlWriter = new System.Xml.XmlTextWriter(myFileStream, System.Text.Encoding.Default)
// Write to the file with the WriteXml method.
ds.WriteXml(myXmlWriter))
myXmlWriter.Close()
</code>Sv: Min rad i xml skrivs över
<code>
<Order>
<moduls>
<ModulId>1</ModulId>
<Modulnamn>Hasse</Modulnamn>
<moduls>
</Order><Order><moduls><ModulId>2</ModulId><Modulnamn>Pelle</Modulnamn><moduls></Order>
</code>
XML- filen skall vara som en lite, lite databas. Grund tanken är att jag skall ha ca 10 sidor med olika produkter. Sedan skall man kunna klicka på beställ. då skall produkten skrivas ner i xml-filen. Alla produkterna har olika modid och modulnamn. Sedan skall jag läsa in detta i en datagrid. samtidigt som jag skall summera priset, så är tanken med det hela mao en liten shop.
/phinalaSv: Min rad i xml skrivs över
Tänk på att detta kommer att krascha om det är flera inne samtidigt och sparar samma fil.. Då måste du göra felhantering för det.. eller helst kanske inte använda en fil som en databas för flera samtidiga användare :)
Ola