Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

kako da se podaci iz aplikacije upisu u xml file?

  • 14 odgovora
  • 6.199 pregleda

Najnovija ↓

kako da se podaci iz aplikacije upisu u xml file? 14.08.2008. u 18:08 · pre 221 mesec #1
dakle, bas to:kako da se podaci iz aplikacije (radjene u C# ako je bitno) upisu u xml file? da li xml moze da sluzi umesto baze?
Potpis
... ovde ima nesto sto se nikako ne slaze... ;)
Re: kako da se podaci iz aplikacije upisu u xml file? 15.08.2008. u 15:55 · pre 221 mesec #4
XML fajlove uvek mozes koristiti za trajno cuvanje podataka, slicno bazama. Medjutim, za smestanje velikog broja podataka uvek je efikasnije koristiti bazu. Ako pak zelis da sacuvas neki mali set podataka (parametre ili npr. konfiguraciju za rad tvoje aplikacije...) onda ih mozes zapisati u (XML) fajl. Proguglaj malo i naci ces mnogo primera kako to uraditi.

Marko te je pitao gde su smesteni podaci koje bi zeleo da prebacis u XML. To je bitno jer (ako radis sa .NET-om) mnoge klase/kontrole iz njegovih biblioteka imaju implementiranu podrsku za rad sa XML fajlovima. Npr. celokupnu tabelu koju cuva DataTable objekat mozes zapisati u XML fajl pomocu jedne jedine komande!

Takodje, ako zelis da sacuvas stanje nekog objekta (dakle, da zapises u fajl vrednosti njegovih atributa), mozes upotrebiti XmlSerializer klasu.

Postoji mnogo kombinacija kako citati iz/pisati u XML fajl. Koju ces upotrebiti zavisi od strukture podataka koju zelis da exportujes u fajl i objekta gde se oni cuvaju.
Re: kako da se podaci iz aplikacije upisu u xml file? 15.08.2008. u 19:02 · pre 221 mesec #5
ajde da probamo ovako: "application should take a set of files as input parameter and generate XML based manifest file as output one". googlam pravljenje manifest fajla al ne bas uspesno...
Potpis
... ovde ima nesto sto se nikako ne slaze... ;)
Re: kako da se podaci iz aplikacije upisu u xml file? 15.08.2008. u 22:20 · pre 221 mesec #7
Citat:
mayana: ajde da probamo ovako: "application should take a set of files as input parameter and generate XML based manifest file as output one".


- set kojih/kakvih fajlova?
- kako treba manifest fajl da ti izgleda?


odgovori na oba ova pitanja i napisacu ti primer :)
Potpis
rafforum.rs - Forum Računarskog Fakulteta
Re: kako da se podaci iz aplikacije upisu u xml file? 15.08.2008. u 22:46 · pre 221 mesec #8
aplikacija\utility treba da sluzi za auto update. aplikacija se konektuje negde i skida manifest file koji potom razlozi, proverava da li postoji negde nova verzija, onda skida te nove fajlove i njih potom ugradjuje u jedan novi manifest koji ce da sluzi za auto update. tako nekako...
Potpis
... ovde ima nesto sto se nikako ne slaze... ;)
Re: kako da se podaci iz aplikacije upisu u xml file? 16.08.2008. u 15:59 · pre 221 mesec #9
tako nekako... :) ja sam mislio da mi das primer tog manifest fajla, ali evo dacu ti primer kako da citas/pises jedan xml fajl recimo ovakve strukture:
Code:

<?xml version="1.0" encoding="utf-8" ?>
<filelist>
    <file version="0.0.1">fajl1.ext1</file>
    <file version="1.0.2">fajl2.ext2</file>
    <file version="0.1.1">fajl3.ext3</file>
</filelist>


dodaj ovo na pocetak fajla:
Code:

using System.Linq;
using System.Xml.Linq;


evo primer citanja xmla (ispisuje u konzolu)
Code:

XElement root = XElement.Load( "input.xml" );

if ( root.Name != "filelist" ) return; // provera...

// citanje node by node (cita <file> cvorove)
foreach ( XElement file in root.Elements( "file" ) )
{
    XAttribute version;  // version="" atribut

    if ( ( version = file.Attribute( "version" ) ) != null )
    {
        Console.WriteLine( file.Value + ", version " + version.Value );
    }
    else
    {
        // version="" atribut ne postoji, ubaci neku logiku ovde ako je potrebno...
    }
}


a ovako kreiras xml fajl:
Code:

XElement filelist = new XElement( "filelist" );

filelist.Add( new XElement( "file", new XAttribute( "version", "1.0" ), new XText( "ime fajla1.ext" ) ) );
filelist.Add( new XElement( "file", new XAttribute( "version", "1.1" ), new XText( "ime fajla2.ext" ) ) );
filelist.Add( new XElement( "file", new XAttribute( "version", "2.0" ), new XText( "ime fajla3.ext" ) ) );
filelist.Add( new XElement( "file", new XAttribute( "version", "0.5" ), new XText( "ime fajla4.ext" ) ) );

filelist.Save( "output.xml" );


btw ne mora da se koristi System.Xml.Linq ali je meni nekako lakse tako :)

ako ti nesto nije jasno pitaj, nisam imao sad bas vremena da objasnjavam sta se tacno desava ali kod je jednostavan pa moze iz njega da se vidi logika, ako ne onda cu veceras napisati neko malo objasnjenje...
Potpis
rafforum.rs - Forum Računarskog Fakulteta
Re: kako da se podaci iz aplikacije upisu u xml file? 17.08.2008. u 15:41 · pre 221 mesec #10
@mayana "tako nekako" kao objasnjenje probleme u programiranju ne znaci nista :)
Mozda programiranje nekad i jeste apstraktno ali shvatanje onoga sto treba da se uradi i pisanje koda su vrlo konkretne stvari ...
Koliko vidim iz opisa, aplikacija je pilicno slozena, tako da bi morala de problim opises mnogo detaljnije da bi neko mogao da ti uradi primer koji moze da ti koristi ...
Potpis
HomePage http://www.eurora3d.com
Re: kako da se podaci iz aplikacije upisu u xml file? 17.08.2008. u 20:50 · pre 221 mesec #11
ok,ok, nije bitno. ono sto meni treba je source code microsoft-ove aplikacije Manifest Utility verzija u c#, to sam shvatila ovih dana trazeci resenje po netu. sem ako nemate to, ne mozete mi pomoci. hvala Aleksandru Ruzicicu na pomoci ali njegov kod na mom kompjuteru ne radi. visual studio koji ja imam je vs.net 2003, verzija sa faksa i kad tamo ukucam taj kod, prijavi da ne zna sta je system.linq, sta je xelement itd. tako da hvala, ali nije mi pomoglo. nema veze, sad je kasno, istice mi rok za zadatak. kad sama budem bolje shvatala sta mi je zadatak, bolje cu i vama objasniti. pozdrav
Potpis
... ovde ima nesto sto se nikako ne slaze... ;)
Re: kako da se podaci iz aplikacije upisu u xml file? 17.08.2008. u 22:24 · pre 221 mesec #12
pa ako koristis 2003 onda je to .net 2.0 a linq se pojavio tek sa 3.5, tako da nije ni cudo sto ti ne radi...

rekoh da moze i bez xml.linq namespace-a, tj bez XElement, XAttribute i ostalih X* objekata. potrazi samo primere za XmlReader i XmlWritter klase na googlu...
Potpis
rafforum.rs - Forum Računarskog Fakulteta
Re: kako da se podaci iz aplikacije upisu u xml file? 17.08.2008. u 23:12 · pre 221 mesec #13
ustvari, imam .net 1.1. skapirala sam da je do frameworka, gledajuci o linqu na netu. hvala svakako. cackacu jos malo pa odustajem.
Potpis
... ovde ima nesto sto se nikako ne slaze... ;)
Re: kako da se podaci iz aplikacije upisu u xml file? 18.08.2008. u 12:42 · pre 221 mesec #15
Ja bih uradio na sledeći način... Napravim klasu i postavim joj atribut Serializable. U toj klasi ubacim sve promenljive koje mi trebaju. Evo prost primer:
Code:

[Serializable]
public class Covek
{
    public string Ime;
    public string Prezime;
    public DateTime DatumRodjenja;

    public static Covek Load(string lokacijaFajla)
    {
        XmlSerializer xSer = new XmlSerializer(typeof(Covek));
        FileStream fs = new FileStream(lokacijaFajla, FileMode.Open);
        Covek ret = (Covek)xSer.Deserialize(fs);
        fs.Close();
        return ret;
    }

    public bool Save(string lokacijaFajla)
    {
        XmlSerializer xSer = new XmlSerializer(typeof(Covek));
        FileStream fs = new FileStream(lokacijaFajla, FileMode.Create);
        try
        {
            xSer.Serialize(fs, this);
        }
        catch (Exception pe)
        {
            System.Windows.Forms.MessageBox.Show("GREŠKA" + pe.Message);
            return false;
        }
        fs.Flush(); fs.Close();
        return true;
    }
}


Tako uvek radim kad treba neke podatke da snimim na HD, a ako ih nema mnogo (npr. opcije i tako to).

Evo našao sam pametan tekst o tome na MSDN-u: http://msdn.microsoft.com/en-u...rialization.xmlserializer.aspx

:)
Potpis
Expert Opinions - Niche Articles
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme