---
title: "Lättaste sätt att läsa XML"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/67833-lättaste-sätt-att-läsa-xml"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "icaaq"
published: "2003-02-10T12:43:17.000Z"
updated: "2003-02-10T16:42:34.000Z"
replies: 2
views: 219
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/67833-lättaste-sätt-att-läsa-xml"
---

# Lättaste sätt att läsa XML

## #1 — icaaq, 2003-02-10T12:43Z

Jag har denna XML-fil:

```
[red]
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <!--How many minutes a user is online "green" -->
    <online minutes="3"/>
    <!--How many minutes a user is offline "red" -->
    <offline minutes="10"/>
    <!--How many minutes the conversation is saved, If 0 all conversation is saved -->
    <history minutes="0"/>
</configuration>
[/red]
```

Nu till frågan, Hur hämtar jag ut värden online, offline och history lättast mha C#??
mvh icaaq

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

## #2 — renholm, 2003-02-10T15:46Z

System.Xml.Serialization.XmlSerializer är bra då, du har en class som speglar din fil så när du vill komma åt ditt värde så gör du bara så här: minclass.mittvärde.

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

## #3 — icaaq, 2003-02-10T16:42Z

Löste det så här:

```
[red]
public void FromXML(string file)
{
	if(File.Exists(file))
	{
		StreamReader sr = new StreamReader(file);
		XmlTextReader xtr = new XmlTextReader(sr);
		xtr.WhitespaceHandling = WhitespaceHandling.None;
		bool foundBegin = false;
		while(xtr.Read())
		{
			switch (xtr.NodeType)
			{
				case XmlNodeType.Element:
					if(xtr.Name.ToLower().Equals("configuration"))foundBegin=true;
					StartElement(xtr,xtr.Name);
					break;
			}
		}
		if(!foundBegin)
		{
			throw new Exception("Invalid format of file");
		}

	}
} 
private void StartElement(XmlTextReader reader, string elementName)
{
	switch (elementName.ToLower())
	{
		case "online":
			_online = Convert.ToInt16(reader.GetAttribute("minutes"));
			break;
		case "offline":
			_offline = Convert.ToInt16(reader.GetAttribute("minutes"));
			break;
		case "history":
			_history = Convert.ToInt16(reader.GetAttribute("minutes"));
			_rows = Convert.ToInt16(reader.GetAttribute("rows"));
			break;
	}
}
[/red]
```

mvh icaaq

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

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/67833-lättaste-sätt-att-läsa-xml
