• 2 odgovora
  • 3.189 pregleda
Upis/čitanje vrednosti iz XML-a 29.03.2007. u 23:06 · pre 238 meseci #1
Pokušavam već neko vreme da pronađem rešenje za (jednostavan) problem.

Naime, imam jedan XML fajl koji izgleda npr ovako:

<Program>
<Naziv>Test program</Naziv>
<Verzija>1.2</Verzija>
</Program>

Kako u C# da pročitam/upišem vrednost Verzije?
Deo koda bi mi bio od pomoći...

tnx!
Potpis
Ashes to ashes - dust to dust. Zejtin to ulje - mast to mast.
Re: Upis/čitanje vrednosti iz XML-a 03.04.2007. u 07:49 · pre 238 meseci #2
Evo kako mozes da citas / pises u xml
Code:
        

Dim xmlPisac As New Xml.XmlTextWriter("c:\neki_fajl.xml", System.Text.Encoding.Default)

        With xmlPisac
            .Formatting = Xml.Formatting.Indented
            .Indentation = 4

            .WriteRaw("<?xml version=""1.0""?>")
            .WriteComment("Poslovni Adresar BiH")
            .WriteComment("www.adresar.ba")

            .WriteStartElement("Pocetak")

                .WriteStartElement("Naziv")
                .WriteStartElement("Test Program")
                .WriteEndElement()

                .WriteStartElement("Verzija")
                .WriteString("2.0")
                .WriteEndElement()

            .WriteEndElement()
        End With
        xmlPisac.Close()


Naravno ovo je za VB.NET ali ti je bitno samo da vidis kako se koriste ovi objekti.

E sada za citanje

Code:

        Dim xmlDoc As New Xml.XmlDocument
        Dim xmlNav As Xml.XPath.XPathNavigator
        Dim xmlIter As Xml.XPath.XPathNodeIterator
        Dim _naziv,_verzija as string

        xmlDoc.Load("c:\neki_fajl.xml")
        xmlNav = xmlDoc.CreateNavigator
        xmlIter = xmlNav.Select("Program")
        xmlIter.Current.MoveToFirstAttribute()

        While xmlIter.MoveNext
            Do
                xmlIter.Current.MoveToFirstChild()
                Do


                    Select Case xmlIter.Current.Name
                        Case "Naziv" : _naziv = xmlIter.Current.Value
                        Case "Verzija" : _verzija = xmlIter.Current.Value
                    End Select

                Loop Until (Not xmlIter.Current.MoveToNext)
            Loop Until (Not xmlIter.Current.MoveToNextAttribute)
        End While
Re: Upis/čitanje vrednosti iz XML-a 03.04.2007. u 12:43 · pre 238 meseci #3
Postoji i kraca verzija citanja preko XPath-a bez iterativnog pretrazivanja (sto ume da bude veoma zahtevno):

Code:

            XmlDocument xmlDoc = new XmlDocument();
            string _verzija;
            xmlDoc.Load("test.xml");
            _verzija = xmlDoc.SelectSingleNode("//Program/Verzija").InnerText;
Potpis
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog
naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji
je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan,
sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv - Z.Đinđić
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme