---
title: "Läsa från XML-fil."
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/87094-läsa-från-xml-fil"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Fredde Mannen"
published: "2003-09-28T11:18:13.000Z"
updated: "2003-09-28T13:02:42.000Z"
replies: 3
views: 444
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/87094-läsa-från-xml-fil"
---

# Läsa från XML-fil.

## #1 — Fredde Mannen, 2003-09-28T11:18Z

Jag vet att man kan använda ett visst server objekt för att läsa från filer på andra serverar och så vidare!

Jag har 2 xml-filer som är uppbyggd på följande sett typ:

sv.xml

```
<LANGAUGE>
<BUTTON value="LINK_HEM">HEM</BUTTON>
<BUTTON value="LINK_OMOSS">OM OSS</BUTTON>
<BUTTON value="LINK_LANKAR">L&Auml;NKAR</BUTTON>
<BUTTON value="LINK_GASTBOK">G&Auml;STBOK</BUTTON>
... osv...
</LANGAUGE>
```

en.xml

```
<LANGAUGE>
<BUTTON value="LINK_HEM">HOME</BUTTON>
<BUTTON value="LINK_OMOSS">ABOUT US</BUTTON>
<BUTTON value="LINK_LANKAR">LINKS</BUTTON>
<BUTTON value="LINK_GASTBOK">GUESTBOOK</BUTTON>
... osv...
</LANGAUGE>
```

Och nu till problemet, hur skall jag bygga upp en funktion typ ser ut så här: 

```
GetLanguageTranslation("LINK_GASTBOK")
```

denna skall kolla om det finns en BUTTON med value=LINK_GASTBOK och om det finns returnera den feta texten, och om den inte finns returna "No Value" 
\<BUTTON value="LINK_GASTBOK"\>**GUESTBOOK**\</BUTTON\>

Vet inte riktigt hur jag skall gå till väga, mer än att jag skall använda en Reg Exp...

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

## #2 — Sebbe, 2003-09-28T11:55Z

Har ingen aning om det här är det smartaste sättet att göra det på, kan inte mycket (ingenting alls) om XML i ASP. Men det funkar i alla fall, och det är väl det viktiga? ;)

```
Function GetLanguageTranslation(strLink, strLang)
  If strLang & "" = "" Then strLang = "en"

  'Set objHTTP = Server.CreateObject("Microsoft.XMLHTTP")
  'objHTTP.Open "GET", "http://www.sidan.com/" & strLang & ".xml", False
  'objHTTP.Send
  'strXML = objHTTP.ResponseText
  'Set objHTTP = Nothing

  Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
  Set objTS = objFSO.OpenTextFile(Server.MapPath(strLang & ".xml"))
  strXML = objTS.ReadAll
  objTS.Close : Set objTS = Nothing
  Set objFSO = Nothing 

  Set RegExp = New Regexp

  With RegExp
    .IgnoreCase = True
    .Global = False
    .Pattern = "<BUTTON value=""" & strLink & """>[^<]*</BUTTON>"

    Set objMatches = RegExp.Execute(strXML)

    For Each Match In objMatches
      strMatch = Match.Value
    Next

    Set objMatches = Nothing

    .Global = True
    .Pattern = "<[^>]*>"
    strMatch = RegExp.Replace(strMatch, "")
  End With

  Set RegExp = Nothing

  If strMatch = "" Then strMatch = "No Value"

  GetLanguageTranslation = strMatch
End Function
```

Sedan anropas fuktionen med *GetLanguageTranslation("LINK_GASTBOK", "en")*, *GetLanguageTranslation("LINK_GASTBOK", "sv")* eller *GetLanguageTranslation("LINK_GASTBOK", "")*.
Sedan får du ändra på om filerna ligger på din server eller på någon annans, uppfattade inte riktigt det. :)

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

## #3 — mozilla, 2003-09-28T13:00Z

jag tror det finns lite smidigare lösningar, sök på XML eller XMLDOM här på forumet

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

## #4 — Sebbe, 2003-09-28T13:02Z

> **mozilla skrev:**
>
> jag tror det finns lite smidigare lösningar, sök på XML eller XMLDOM här på forumet

Tusan då! ;)

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/87094-läsa-från-xml-fil
