Wczytywanie danych do textbox z pliku xml

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??

0

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

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ć?

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.

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.

0

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

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.

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/Shows/Visual-Studio-Toolbox/Visual-Studio-Toolbox-Using-LINQ-to-XML-to-Write-XML

 var doc = XDocument.Load(plik).Descendants("plik");
 textBox1.Text = doc.Select((s) => s.Element("imie").Value).Single();
0

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

0

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

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