---
title: "Parsa XML-sträng"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/158463-parsa-xml-sträng"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "BrutalDeluxe"
published: "2007-03-21T19:16:09.000Z"
updated: "2007-03-24T19:31:04.000Z"
replies: 9
views: 666
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/javascript/158463-parsa-xml-sträng"
---

# Parsa XML-sträng

## #1 — BrutalDeluxe, 2007-03-21T19:16Z

Jag håller på med en XML-editor mha en editerbar iframe och javascript och har stött på ett litet problem. Jag behöver parsa en xml-sträng och få ut element och attribut.

Ex. \<div class="klass" style="border: 1px solid black;"\>

För denna strängen vill jag ha ut 

element: div
attribut: class="klass", style="border: 1px solid black;"

Finns det något enkelt sätt att göra detta eller måste jag hålla på och krångla med strängar :)

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

## #2 — Peter S, 2007-03-21T19:31Z

```
alert( '<div class="klass" style="border: 1px solid black;">'.match(/[a-z]+="[^"]+"|[a-z]+/gi) )
```

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

## #3 — zcorpan, 2007-03-21T21:58Z

Hmm... att parsa XML med regexp är nog inte direkt idiotsäkert... speciellt om det handlar om en XML-editor då användaren kan mata in vilken text som helst borde all välformad XML hanteras korrekt (och strängar som inte är välformade borde inte släppas igenom).

Du kan parsa XML med javascript genom att använda webbläsarens XML-tolk, då får du en DOM som har element och attribut som noder. Om dokumentet där skriptet körs är ett XML-dokument kan du använda .innerHTML, annars kan du kanske använda metoden parseFromString() på ett DOMParser-objekt, eller liknande.

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

## #4 — BrutalDeluxe, 2007-03-22T12:54Z

Problemet med webbläsarens XML-tolk är att jag inte har ett fullständigt XML-dokument. Jag vill bara parsa starttaggen. Elementtext och sluttagg finns inte i strängen.

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

## #5 — zcorpan, 2007-03-22T14:53Z

Bara modifiera strängen så att du byter ut det sista tecknet, om det är "\>", mot "/\>".

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

## #6 — BrutalDeluxe, 2007-03-22T15:52Z

Ja, det fungerar om det är XHTML men om jag börjar labba med XSL-FO så får jag parsererror :-(

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

## #7 — zcorpan, 2007-03-22T21:27Z

Det spelar väl ingen roll? Eller får du parse error för att du använder namnrymdsprefix (som då inte är deklarerat)?

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

## #8 — BrutalDeluxe, 2007-03-23T07:14Z

> **zcorpan skrev:**
>
> Eller får du parse error för att du använder namnrymdsprefix (som då inte är deklarerat)?

Ja, precis. Hur registrerar jag det i DOMParsern?

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

## #9 — zcorpan, 2007-03-24T07:43Z

Är prefixet alltid samma? Isf kan du skriva in xmlns:foo="..." i strängen i samma veva som du byter ut \> mot /\>, men om du inte vet prefixet (eller prefixen) så blir det svårare, då behöver du egentligen en XML parser utan stöd för namnrymder eller nåt...

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

## #10 — BrutalDeluxe, 2007-03-24T19:31Z

Jag borde ju kunna ha namnrymden med som parameter till parsern, då ordnar sig ju faktiskt allting :)

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

---

Tråden på webben: https://www.webforum.nu/amne/javascript/158463-parsa-xml-sträng
