---
title: "Hantera lite XML-data i taget"
type: "forum-thread"
url: "https://www.webforum.nu/amne/java/158853-hantera-lite-xml-data-i-taget"
topic: "Java"
topic_url: "https://www.webforum.nu/amne/java"
author: "intesa"
published: "2007-04-01T22:00:36.000Z"
updated: "2007-04-11T21:36:15.000Z"
replies: 4
views: 460
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/java/158853-hantera-lite-xml-data-i-taget"
---

# Hantera lite XML-data i taget

## #1 — intesa, 2007-04-01T22:00Z

Har ett program som tar emot data i xml-format enligt:

```
<message>
 <text>Text</text>
 <img>Base64 kodad data</img>
</message>
```

Använder mig av Jakarta Commons Digester för att parsa genom filen, men eftersom "img"-datan kan vara rätt stor skulle jag vilja göra om den till binär-data och spara ner den till en fil allt eftersom datan kommer in, istället för som nu när all data tagits emot.

Det pinsamma i situationen är att jag gjort detta i ett projekt för ett par år sen. Men nu har jag sumpat koden och kan inte komma på hur jag gjorde  :r 

Några ideér?  :i

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

## #2 — spango, 2007-04-02T07:19Z

Du kanske vill läsa direkt från SAX-parsern istället för att bygga ett DOM-träd?
<http://java.sun.com/webservices/jaxp/dist/1.1/docs/tutorial/sax/2a_echo.html>

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

## #3 — intesa, 2007-04-05T20:58Z

Jaha, så lätt var det, tack spango!

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

## #4 — Lime, 2007-04-06T07:57Z

Mmm... SÅ lätt är det. I det projektet jag sitter i nu har en av gubbarna skrivit en EGEN SAX-parser istället för att använda någon befintlig "för jag vet ju inte om den du sagt att vi ska använda fungerar". \*suck\*

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

## #5 — intesa, 2007-04-11T21:36Z

Äta kakan och ha den kvar

Drar upp den här tråden igen för nu har jag lite mer problem.
Det är nämligen så att XML-protokollet har utökats och blivit mycket mer avancerat, vilket gör att man i princip måste modda SAX-parsern för att kunna bygga upp ett DOM-träd för att få lite struktur på det hela och för att kunna behandla datan på ett bra sätt senare. Fast nu vill jag ju inte göra som gubben i Limes projekt och uppfinna hjulet på nytt ;)

Hade en liten fundering på om det skulle kunna gå att lägga in ett filter på inputstreamen som kör datan genom en SAX-parser och spar ner den base64 kodade datan och ersätter den med sökvägen dit datan sparades innan en DOM-parser läser in datan som såhär:

Före filtrering:

```
<message>
 <image>
  <text>Text 1</text>
  <data>Base64 data</data>
 </image>
 <image>
  <text>Text 2</text>
  <data>Base64 data</data>
 </image>
</message>
```

Efter filtrering:

```
<message>
 <image>
  <text>Text 1</text>
  <data>/tmp/fil1.png</data>
 </image>
 <image>
  <text>Text 2</text>
  <data>/tmp/fil2.png</data>
 </image>
</message>
```

Hur gör jag detta på bästa sätt tro?

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

---

Tråden på webben: https://www.webforum.nu/amne/java/158853-hantera-lite-xml-data-i-taget
