Zapisanie wartości atrybutów XML do bazy.

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

1
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);
}
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

0

Witam,

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

0
samadhi napisał(a)
XmlDocument doc = new XmlDocument();
doc.Load("Content/data.xml");

.......
}

Dziękuje bardzo ! zaraz bede probowal.

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