• 1
  • 2
2007-01-14, 21:30
  #1
Medlem
Kan man använda serialization som ett alternativ till XML när man gör program i C#? Alltså att spara varje objekt på hårddisken istället för som text i en xml-fil. Finns det några problem med detta?
Citera
2007-01-14, 22:32
  #2
Medlem
Hmm eller har jag fått allt om bakfoten?
Citera
2007-01-14, 23:20
  #3
Medlem
Som jag förstått det är serialization ett begrepp som helt enkelt innebär 'objekt objekt till sträng för att kunna spara'. Olika implementationer har såklart olika syntax på stränrepresentationen - men visst sparar du XML-filen på hårddisken?
Citera
2007-01-14, 23:44
  #4
Medlem
McBs avatar
Hur hade du tänkt dig att spara ner ett objekts specifika tillstånd, om inte i en XML-fil? Det är precis det som serialisering innebär.
Citera
2007-01-15, 00:17
  #5
Medlem
Sparar man inte objekt på hårddisken med serialization? När man loadar det får man väl även fram objektets innehåll och satta attribut?
Citera
2007-01-15, 00:30
  #6
Medlem
Vad folk menar är att när du serialiserar ner något så blir det en xml-fil.
Citera
2007-01-15, 00:43
  #7
Medlem
Citat:
Ursprungligen postat av McB
Hur hade du tänkt dig att spara ner ett objekts specifika tillstånd, om inte i en XML-fil? Det är precis det som serialisering innebär

Citat:
Ursprungligen postat av Nightgaunt
Vad folk menar är att när du serialiserar ner något så blir det en xml-fil.

... fast så behöver det inte alls vara! C# kanske använder XML som standard, men bara som exempel använder PHP nåt helt eget syntaxpåhitt för att serialisera. Rent allmänt borde JSON vara det mest lämpade formatet, minst overhead och bäst struktur för ändamålet.

Citat:
Ursprungligen postat av zman
Sparar man inte objekt på hårddisken med serialization? När man loadar det får man väl även fram objektets innehåll och satta attribut?

Jo, precis. Och formatet de sparas i är t.ex. XML.
Citera
2007-01-15, 00:51
  #8
Medlem
McBs avatar
Citat:
Ursprungligen postat av kungdenknege
... fast så behöver det inte alls vara! C# kanske använder XML som standard, men bara som exempel använder PHP nåt helt eget syntaxpåhitt för att serialisera. Rent allmänt borde JSON vara det mest lämpade formatet, minst overhead och bäst struktur för ändamålet.

Förvisso, men nu avsåg ju frågan C# och XML.
Citera
2007-01-15, 00:56
  #9
Medlem
Jag tänkte när man serializerar med binary formater som ex:

Kod:
public void saveToDisc(string fn) {
            
string filename fn ".bin";
            
Stream s = new FileStream("c:\\guests\\" filenameFileMode.Create);
            
BinaryFormatter bf = new BinaryFormatter();
            try {
                
bf.Serialize(sthis);
            } catch (
Exception e) {
                
Console.WriteLine("Fel: {0}"e.Message.ToString());
            }
            
s.Close();
        } 

Detta sparas inte som en XML-fil, men det jag undrar är vad detta har för nackdelar jämfört med att spara i xml-fil? Ursäkta otydligheten..
Citera
2007-01-15, 09:44
  #10
Medlem
äppelkakas avatar
Citat:
Ursprungligen postat av zman
Jag tänkte när man serializerar med binary formater som ex:

Kod:
public void saveToDisc(string fn) {
            
string filename fn ".bin";
            
Stream s = new FileStream("c:\\guests\\" filenameFileMode.Create);
            
BinaryFormatter bf = new BinaryFormatter();
            try {
                
bf.Serialize(sthis);
            } catch (
Exception e) {
                
Console.WriteLine("Fel: {0}"e.Message.ToString());
            }
            
s.Close();
        } 

Detta sparas inte som en XML-fil, men det jag undrar är vad detta har för nackdelar jämfört med att spara i xml-fil? Ursäkta otydligheten..
Att det inte blir läsbar text.
Citera
2007-01-15, 12:20
  #11
Medlem
Citat:
Ursprungligen postat av äppelkaka
Att det inte blir läsbar text.

Väl snarare en fördel.. bara programmet som ska läsa det ändå.
Citera
2007-01-15, 12:45
  #12
Bannlyst
om du använder BinaryFormater classen så blir det ju inte en xml serialisering utan än binär serialisering. för xml serialisering får du använda System.Xml.Serialization.XmlSerializer classen. men om du bara ska läsa filen i ditt eget program så ska binärserialisering vara bättre
Citera
  • 1
  • 2

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in