---
title: "Hämta ur xml fil där channel=\"2\"?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/136377-hämta-ur-xml-fil-där-channel-2"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Bosse168"
published: "2005-10-25T16:23:12.000Z"
updated: "2005-10-26T15:48:20.000Z"
replies: 7
views: 445
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/asp/136377-hämta-ur-xml-fil-där-channel-2"
---

# Hämta ur xml fil där channel="2"?

## #1 — Bosse168, 2005-10-25T16:23Z

Någon som vet hur man gör för att loopa ut och hämta informationen ur en xml fil som ligger på samma server som asp sidan där channel="2"?

Så här ser innehållet i xml filen ut:

```
<?xml version="1.0" encoding="iso-8859-1"?>
  <channel id="1">
    <display-name>1</display-name>
  </channel>
  <channel id="2">
    <display-name>2</display-name>
  </channel>
  <channel id="3">
    <display-name>3</display-name>
  </channel>
  <programme start="20051025060000 +0100" stop="20051025093000 +0100" channel="1">
    <title>Program 1 on 1</title>
    <desc>Info..</desc>
  </programme>
  <programme start="20051025093000 +0100" stop="20051025100000 +0100" channel="1">
    <title>Program 2 on 1</title>
    <desc>Info..</desc>
  </programme>
  <programme start="20051025093000 +0100" stop="20051025143000 +0100" channel="2">
    <title>Program 1 on 2</title>
    <desc>Info..</desc>
  </programme>
  <programme start="20051025143000 +0100" stop="20051025150000 +0100" channel="2">
    <title>Program 2 on 2</title>
    <desc>Info..</desc>
  </programme>
  <programme start="20051025093000 +0100" stop="20051025143000 +0100" channel="3">
    <title>Program 1 on 3</title>
    <desc>Info..</desc>
  </programme>
  <programme start="20051025143000 +0100" stop="20051025150000 +0100" channel="3">
    <title>Program 2 on 3</title>
    <desc>Info..</desc>
  </programme>
  <programme start="20051026060000 +0100" stop="20051026093000 +0100" channel="1">
    <title>Program 1 on 1</title>
    <desc>Info..</desc>
  </programme>
  <programme start="20051026093000 +0100" stop="20051026100000 +0100" channel="1">
    <title>Program 2 on 1</title>
    <desc>Info..</desc>
  </programme>
</tv>
```

**\[edit\]**
Ändrade xml filen.

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

## #2 — Bosse168, 2005-10-25T19:28Z

Den här koden funkar men jag vill slippa (om det går) att ha en If sats i loopen som går kollar om channel är = 2.

```
<%
Dim XMLDoc,nodeLst,nodeLst2,nodeLst3,i

Set XMLDoc = CreateObject("MSXML2.DOMDocument")
XMLDoc.setProperty "ServerHTTPRequest", true
XMLDoc.async=False

XMLDoc.Load Server.Mappath("filen.xml")

If XMLDoc.parseError.errorCode = 0 Then

Set nodeLst = XMLDoc.getElementsByTagName("programme")

For each obj in nodeLst

	Response.Write(obj.attributes.getNamedItem("channel").text &" - "& obj.selectSingleNode("title").text &".<br>")

next

Else
Response.write XMLDoc.parseError.reason
End If
%>
```

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

## #3 — emission, 2005-10-25T19:53Z

```
Set nodeLst = XMLDoc.selectNodes("//programme[@channel='2']")
```

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

## #4 — Bosse168, 2005-10-26T08:28Z

\[edit\]
Funkar kanon.
Kan man på något sätt lägga till en datum check där också? :)

```
start="20051025060000 +0100"
```

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

## #5 — emission, 2005-10-26T11:03Z

```
Set nodeLst = XMLDoc.selectNodes("//programme[@channel='2' and start='20051025060000 +0100']")
```

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

## #6 — Bosse168, 2005-10-26T12:36Z

> **emission skrev:**
>
> ```
> Set nodeLst = XMLDoc.selectNodes("//programme[@channel='2']")
> ```

Funkade kanon men nu har ett annat litet problem dykt upp (som vanligt). ;)
Jag ändrade i XML filen (se först inlägget) så att den spara in morgondagens program också. Nu när jag kör loopen så loopar den ut allt där channel är = "2", kan man inte på något sätt avsluta loopen när den loopar ut channel 2 för andra gången?

Typ så här om jag loopar igenom hela xml filen

```
<%
For each obj in nodeLst

	If obj.attributes.getNamedItem("channel").text = 2 Then

Response.Write(obj.attributes.getNamedItem("channel"))

	Else
'Exit loop
	End If
next
```

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

## #7 — emission, 2005-10-26T15:42Z

Använd selectSingleNode i stället, så får du bara en nod som svar (dvs. ingen loop behövs)

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

## #8 — Bosse168, 2005-10-26T15:48Z

que, fattar inte hur du menar eller hur man gör.  :OO

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/136377-hämta-ur-xml-fil-där-channel-2
