Zapisanie wartości atrybutów XML do bazy.

Odpowiedz Nowy wątek
2011-08-08 18:37
0

Witam, mam taki problem
Mam prosty plik XML (wczytywany z pliku) i muszę wczytać jego atrybuty i ich wartości do bazy.

Przykładowo z pliku XML :
//<?xml version="1.0" encoding="utf-8"?>

<atrybut> <akcja> <dana1>dana 1</dana1> <data>2009-03-23</data> <data2>2010-03-01</data2> <nazwa>to jest nazwa</nazwa> <opis>to jest opis </opis> <kategoria> <id_kat id="2"> </id_kat> </kategoria> </akcja> </atrybut>// Chciałbym aby do tabeli w bazie (ewentualnie w excelu) zapisało wartośći: //Dana 1 | dana 1 Data | 2009-03-23 Data 2 | 2010-03-01 Nazwa | to jest nazwa Opis | to jest opis Id_kat | 2// Jakbyście się do tego zabrali ? Np w C# (będzie prościej). Pozdrawiam

Pozostało 580 znaków

2011-08-09 00:16
XmlDocument doc = new XmlDocument();
doc.Load("Content/data.xml");
 
XmlNodeList actionList = doc.GetElementsByTagName("akcja");
foreach (XmlNode action in actionList)
{
    string dana1 = "";
    string data = "";
    string data2 = "";
    string nazwa = "";
    string opis = "";
    string kategoria = "";
 
    foreach (XmlNode node in action.ChildNodes)
    {
        switch (node.Name)
        {
            case "dana1":
                dana1 = node.InnerText;
                break;
            case "data":
                data = node.InnerText;
                break;
            case "data2":
                data2 = node.InnerText;
                break;
            case "nazwa":
                nazwa = node.InnerText;
                break;
            case "opis":
                opis = node.InnerText;
                break;
            case "kategoria":
                if (node.FirstChild != null)
                    kategoria = node.FirstChild.Attributes["id"].Value;
                break;
        }
    }
    string readyAction = string.Format(
        "dana1: {0}\n" +
        "data: {1}\n" +
        "data2: {2}\n" +
        "nazwa: {3}\n" +
        "opis: {4}\n" +
        "id_kat: {5}\n",
        dana1, data, data2, nazwa, opis, kategoria);
}

Pozostało 580 znaków

2011-08-09 09:36
0

Zależy też do czego to jest potrzebne, bo można się pokusić o deserializację, wymagającą jednak większego nakładu pracy na początek

Pozostało 580 znaków

2011-08-09 18:09
0

Witam,

Potem trzeba bedzie z tego zrobić XML , deserializacja jest tu mysle dobrym rozwiazaniem

Pozostało 580 znaków

2011-08-09 18:09
0
samadhi napisał(a)
 
XmlDocument doc = new XmlDocument();
doc.Load("Content/data.xml");

.......
}



Dziękuje bardzo ! zaraz bede probowal.

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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