---
title: "loopa igenom xml-fil"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/171358-loopa-igenom-xml-fil"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "Vinnaren"
published: "2008-05-09T19:48:58.000Z"
updated: "2008-05-12T21:53:00.000Z"
replies: 2
views: 541
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/dotnet/171358-loopa-igenom-xml-fil"
---

# loopa igenom xml-fil

## #1 — Vinnaren, 2008-05-09T19:48Z

Ska loopa igenom alla undernoder till faq, men det vill inte fungera. Har följande xml-fil:

```
<faq>
    <test1 roles="Test1, Test2"></test1>
    <test2 roles="Test1, Test2"></test2>
</faq>
```

Samt min kod:

```
        ListItem addItem = null;
        XmlReaderSettings settings = new XmlReaderSettings();
        settings.IgnoreComments = true;
        settings.IgnoreWhitespace = true;
        settings.CheckCharacters = false;

        XmlReader reader = XmlReader.Create(Server.MapPath("~/App_Data/Faq.xml"), settings);

        string[] role = Roles.GetRolesForUser();
        string rolename = role[0];
        char[] mysplit = { ',', ' ' };

        while (reader.Read())
        {
            if (reader.AttributeCount > 0)
            {
                string[] noderole = reader.GetAttribute("roles").Split(mysplit);
                    
                foreach (string current in noderole)
                {
                    if (current == rolename)
                    {
                        addItem.Text = reader.Name;
                    }
                }
            }
        }
```

får felmeddelandet:
Object reference not set to an instance of an object.
på

```
tring[] noderole = reader.GetAttribute("roles").Split(mysplit);
```

Hur löser man detta??

Tacksam för all hjälp  :stud

Permalänk: https://www.webforum.nu/p/171358

## #2 — Fredde Mannen, 2008-05-12T10:41Z

Den hittar inga attribut med namnet roles, och kan därför inte skapa objektet, skulle jag tippa på..

Men sen är jag dålig på tips, så man vet ju inte.. kanske vinner storkovan i alla fall. :)

Permalänk: https://www.webforum.nu/p/2109535

## #3 — Vinnaren, 2008-05-12T21:53Z

har nu fått det att fungera. Var inte bara under"taggarna" den kollade efter roles på.

Nytt problem:

```
        while (reader.Read())
        {
            if (reader.AttributeCount > 0)
            {
                string attrValue = reader.GetAttribute("roles");
                
                if (!string.IsNullOrEmpty(attrValue))
                {
                    string[] noderole = attrValue.Split(mysplit);

                    foreach (string current in noderole)
                    {
                        if (current == rolename)
                        {
                            addItem = new ListItem();
                            addItem.Text = reader.GetAttribute("name");
                            addItem.Value = reader.GetAttribute("name");
                        }
                    }
                }
            }

        }
        bllMenu.Items.Add(addItem);
```

Jag får bara ut den sista av alla addItem i min lista.

Flyttar jag upp bllMenu.Items.Add(addItem); ett steg o har den näst sist år jag följande fel:
Objektreferensen har inte angetts till en instans av ett objekt.

Hur får jag ut samtliga addItem som skapas i while-satsen? SKa få ut tre, men enbart 1 kommer ut.  :stud

Permalänk: https://www.webforum.nu/p/2109720

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/171358-loopa-igenom-xml-fil
