webForumDet fria alternativet

Filtrera xml genom xpath till en dataset

.NET

4 svar · 479 visningar · startad av haxx

Medlem sedan maj 200654 inlägg
Frågan#1

Hej,

Det är så att jag har funderat över hur jag ska binda en dropdownlist på bästa sätt. Varför jag vill lägga xml-filen i en dataset är för att jag vill kunna modifiera dataset och att jag inte behöver all information från xml-filen. Jag är ganska ny när det gäller c#, men jag har googlat som en galning och kan inte hitta något/förstå något.

Det jag vill göra är att få med alla "Land"-element som har attributen "namn". l de element som jag får med vill jag ha med all information från dem. Alltså exempel:

<Land namn="Sverige" bnp="223"/>
MED FLERA...

Så jag har kommit fram till att man ska göra något i stil med:

    public void BindDropDownList()
    {
        XPathNavigator nav;
        XPathDocument docNav;
        XPathNodeIterator NodeIter;
        String strExpression;
        DataSet ds;

        docNav = new XPathDocument(Server.MapPath("~/myxml.xml"));
        nav = docNav.CreateNavigator();
        strExpression = "//Land[@namn]";
        NodeIter = nav.Select(strExpression);
        Sedan?...

Men hur ska jag göra sedan för att få in informationen i en dataset?

Tacksam för hjälp!

Medlem sedan jan. 2001373 inlägg
#2

Kanske kombinera ditt exempel med något nedan.
Förstår inte varför du vill lägga informationen i ett dataset. vad är det du saknar ?


XmlDocument xml = new XmlDocument();           
            xml.LoadXml("din xml")
            XmlNodeList nodeList = xml.SelectNodes("ISO_3166-1_List_en/ISO_3166-1_Entry");

            foreach (XmlNode node in nodeList)
            {
                dindropdown.Items.Add(new ListItem(node.SelectSingleNode("ISO_3166-1_Country_name").InnerText.ToString()));
            }
Medlem sedan maj 200654 inlägg
#3

Men om jag använder en xml-fil som kommer från en annan hemsida och så vill jag kompletera med egen data. Eller ska jag göra det på ett annat sätt? Iofs så har du rätt eftersom jag kan lägga till den datan i dropdownlisten direkt! :D

Tack för hjälpen!

Medlem sedan jan. 2001373 inlägg
#4

hej, det beror lite på hur du vill kompletera.. Vill du lägga till options i dropdown eller manipulera data ?

Medlem sedan maj 200654 inlägg
#5

Egentligen så är det inte så viktigt att jag manipulerar data eftersom det är inte så mycket data i xml-dokumentet, och att jag kan lägga in de extra data manuellt. Om vi säger t ex att xml-filen innehåller alla europeiska länder, med namn och bnp, och så vill jag t ex ha med alla nordamerikanska länder också, då har jag för mig att man kan sortera allt genom att göra en arraylist (och sedan sortera den), däremot vet jag inget om man kan göra det direkt med Dropdownisten.

263 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
132 ms — deklarationer (db)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)
135 ms — ändringar (db)