---
title: "Läsa och skriva XML-filer?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/programmering/94227-läsa-och-skriva-xml-filer"
topic: "Programmering"
topic_url: "https://www.webforum.nu/amne/programmering"
author: "Bjuufaren"
published: "2004-01-08T10:17:31.000Z"
updated: "2004-01-12T10:44:33.000Z"
replies: 4
views: 252
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/programmering/94227-läsa-och-skriva-xml-filer"
---

# Läsa och skriva XML-filer?

## #1 — Bjuufaren, 2004-01-08T10:17Z

Hej,

Jag är i behov av en komponent som gör det väldigt lätt att läsa och skriva XML-filer från en Delphi-applikation. Gärna så litet och enkelt som möjligt. Ungefär som den här (men gratis): <http://www.simdesign.nl/xml.html>

Har kollat lite på OpenXML, XMLWorks och nåt annat, men tycker kanske att de är för "avancerade".

Tacksam för all hjälp!

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

## #2 — Hardrocker, 2004-01-09T09:04Z

I Delphi så finns det stöd för att använda Microsofts XML funktioner så du behöver inte köpa nån tredje parts komponent.
IXMLDom komponenterna följer med Internet Explorer. Tänkt dock på att använda de som följer med IE 5.5 eller senare. De äldre versionerna var ganska buggig. Du kan även ladda ner IXMLDom grejorna separat från Microsoft.

Lägg till MSXML_TLB i uses och det är bara att köra.
Det finns ingen info om IXMLDom grejorna i Delphis hjälp utan du måste använda dig av MSDN.

Nedan har jag skrivit ett par kodexempel som du kan titta på för att komma igång:

Skapa XML

```
procedure TForm1.Button1Click(Sender: TObject);
var
  aDomDoc: IXMLDomDocument;
  aRootElement, aElement: IXMLDomElement;
begin
  aDomDoc := CoDOMDocument.Create;
  aRootElement := aDomDoc.createElement('ROT');
  aDomDoc.documentElement := aRootElement;

  aElement := aDomDoc.createElement('ELEMENT');
  aElement.setAttribute('namn', 'test');
  aElement.text := 'min text';
  aRootElement.appendChild(aElement);
end;
```

XMLkoden kommer att se ut så här:
\<ROT\>
  \<ELEMENT namn='test'\>
      min text
  \</ELEMENT\>
\</ROT\>

Läser in xml gör du enkelt:

```
  aDomDoc := CoDOMDocument.Create;
  aDomDoc.loadXML(strXML);
```

För att t.ex. hitta taggar så använder du dig av IXMLDOMDocument.getElementsByTagName() osv.

Hoppas att detta är tillräcklig information för att du ska komma igång.

/Ante

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

## #3 — Bjuufaren, 2004-01-09T12:47Z

Tack för de utförliga instruktionerna!

En fråga dock; är det inte så att man är beroende av att  msxml.dll finns på användarens system om man gör så här? Det är kanske inget större problem egentligen, men ändå..

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

## #4 — UlfT, 2004-01-09T13:01Z

> **Bjuufaren skrev:**
>
> En fråga dock; är det inte så att man är beroende av att  msxml.dll finns på användarens system om man gör så här? Det är kanske inget större problem egentligen, men ändå..

Om den inte finns där, kan du inkludera den i installationen. Du måste då se till att dll:en registreras i systemet. Men det brukar installationsprogram klara av. Annars kan du registrera den manuellt från kommandoraden genom:

**regsvr32 \<\<sökväg till dll\>\>**

efter att du har kopierat dll:en till rätt plats.

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

## #5 — Hardrocker, 2004-01-12T10:44Z

Eller så sätter du som installationskrav att användarna ska ha IE 5.5 eller senare installerat.

/Ante S

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

---

Tråden på webben: https://www.webforum.nu/amne/programmering/94227-läsa-och-skriva-xml-filer
