Wczytywanie danych do textbox z pliku xml

2011-11-06 14:05
blex
0

Witam, panowie błagam o pomoc bo już troszkę dostaję do głowy.. Mam taki plik XML:

<?xml version="1.0" encoding="UTF-8"?>

<plik> <imie>Agata</imie> <wiek>24</wiek> </plik>

Chcę zrobić w C# wczytanie tego pliku xml i wyświetlenie odpowiednio danej ze znacznika <imie> w textBox1, danej ze znacznika <wiek> w textBox2. Próbuję i googluję już od 2 dni i powoli opadam z sił..

Bardzo proszę o pomoc.

nikt nie zna odpowiedzi na te pytnie?

czy jest to w ogóle wykonalne??

edytowany 1x, ostatnio: madmike, 2016-12-13 18:26

Pozostało 580 znaków

2011-11-07 00:24
0

Jest. Opis w pierwszym lepszym tutorialu opisującym odczytywanie XML w .NET.


"HUMAN BEINGS MAKE LIFE SO INTERESTING. DO YOU KNOW, THAT IN A UNIVERSE SO FULL OF WONDERS, THEY HAVE MANAGED TO INVENT BOREDOM."

Pozostało 580 znaków

2011-11-07 06:53
blex
0

Można prosić o jakiegoś linka? Szczerze mówiąc to sporo tego przejrzałem ostatnimi czasy i nic mi z tego nie wychodzi:(

Mam takie coś:

        string plik = "";
        OpenFileDialog dialog = new OpenFileDialog();
        dialog.Filter = "Plik xml (*.xml)|*.xml";
        dialog.Multiselect = false;
        dialog.ShowDialog();
        if (dialog.FileName != "")
        {
            plik = dialog.FileName;

            XmlDocument xDoc = new XmlDocument(); 
            FileStream fs = new FileStream(plik, FileMode.Open);
            XmlTextReader r = new XmlTextReader(fs);
            XmlNodeList wiek= xDoc.GetElementsByTagName("wiek");
            textBox1.Text = Convert.ToString(wiek);

jednak w textbox wyświetla się jedynie "System.Xml.XmlElementList"
Nie wiem już c z tym zrobić.. Może widzicie jakiś błąd albo wiecie jak ma to wyglądać?

Pozostało 580 znaków

2011-11-07 09:12
0

Błąd na pewno robisz taki, że przekazujesz OBIEKT klasy XmlNodeList do write, co wywołuje XmlNodeList.ToString(). Efekt znasz. Poza tym, to jest lista elementów - odwołaj się do konkretnego (GetItem bodajże), a tam znajdziesz InnerText. Jest analogiczny, nowszy zestaw klas XDocument, XNode itp. Ponoć lepszy.

Pozdrawiam.

edytowany 2x, ostatnio: Sarrus, 2011-11-07 09:13

Pozostało 580 znaków

2011-11-07 09:15
1

Otwierasz ten XmlTextReader, ale w ogóle go nie używasz. To Convert.ToString też jest do niczego.

XmlDocument xDoc = new XmlDocument();
xDoc.Load(plik);

Metoda GetElementsByTagName zwraca listę elementów, a nie pojedynczy. Poczytaj dokumentację do tych klas.


Pozostało 580 znaków

2011-11-07 17:44
blex
0

Nadal nie potrafię:( Byłby ktoś tak uprzejmy i rozpisał jeden przykład? Bardzo proszę.

Pozostało 580 znaków

2011-11-07 18:21
0

Tu są porozpisywane przykłady z wytłumaczeniem: http://www.functionx.com/xmlnet/index.htm
Umiejętność korzystania z google i dokumentacji to umiejętność podstawowa i wymagana, bez tego można sobie darować programowanie.


Pozostało 580 znaków

2011-11-07 23:07
0

Witam,
wg mnie najlepszym sposobem czytania plików xml jest linq. Pod tyl linkiem jest dobrze wytłumaczone ci i jak, a poniżej przedstawione jedno z możliwych rozwiązań http://channel9.msdn.com/Show[...]sing-LINQ-to-XML-to-Write-XML

 var doc = XDocument.Load(plik).Descendants("plik");
 textBox1.Text = doc.Select((s) => s.Element("imie").Value).Single();
edytowany 1x, ostatnio: karoL, 2011-11-07 23:08

Pozostało 580 znaków

2011-11-08 00:23
0

można zrobić var doc = XElement.Load(plik) i wtedy nie trzeba Descendants.

Pozostało 580 znaków

2011-11-09 15:17
blex
0

karoL - udało się Twoją metodą!! Dzięki Ci serdeczne!!

Pozostało 580 znaków

Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0