Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


SAX

Postades av 2004-07-30 10:48:23 - Martin Adrian, i forum xml, Tråden har 4 Kommentarer och lästs av 1180 personer

Någon som har erfarenhet av att arbeta med SAX för att läsa XML filer?

Förstår hur det fungerar men tycker att det verkar knepigt att använda. Brukar man använda någon slags FSM (state-machine) eller hur håller man koll på var i dokumentet man befinner sig.

Jag menar att eftersom det inte går att komma åt elementet och innehållet samtidigt måste man använda nån mellanvariabel för att veta vilket element innehållet tillhör.

typ (pseudo kod)

Sub Start_Element(name)
element = name
End Sub

Sub Text(contents)
if element = "xxx" Then struct.xxx = content
else if element = "yyy" Then struct.yyy = content
...
End Sub


Svara

Sv: SAX

Postades av 2004-07-30 12:06:54 - Simon Dahlbacka

ifall man behöver state så måste man spara den själv, t.ex. genom att använda nån FSM eller bara pusha alla öppna taggar på en stack och poppa dom när taggen sluts.

SAX är effektivt om du inte behöver DOM funktionalitet, men om du behöver DOM funktionalitet, så använd då DOM istället för att skriva en egen pseudo-DOM ovanpå SAX. (Såvida du inte gillar att återuppfinna hjulet dvs.)


Svara

Sv: SAX

Postades av 2004-07-30 13:39:40 - Martin Adrian

Jag behöver inte DOM funktionalitet (om du menar möjlighet att stega framåt och bakåt) men jag förstår inte hur man använder SAX utan att implementera "pseudo-DOM".

Idealfallet för SAX är väl när man skall läsa in data från en XML fil till en struktur. Hur gör man det utan att skapa ett state för varje ComplexType element och spara på en stack. (vilket ioschförsig inte är särskilt svårt men om alla gör så borde det väl finnas nåt färdigt så man inte behöver återuppfinna hjulet)



Svara

Sv: SAX

Postades av 2004-07-30 13:58:47 - Simon Dahlbacka

alltså med pseudo DOM menade jag alltså att bygga upp hela trädet i minnet och skapa en DOM liknande funktionalitet själv.

>Idealfallet för SAX är väl när man skall läsa in data från en XML fil till en struktur. Hur gör man det utan >att skapa ett state för varje ComplexType element och spara på en stack.
..i det fallet skulle jag också göra ungefär som du skriver..

Antagligen finns det N+1 implementationer för det du beskriver, men dels så har du inte nämnt i vilket språk du jobbar och dels känner jag inte till allt som finns, men åtminstone till php och python (dom vet jag om åtminstone) finns såna bibliotek som gör nativa datastrukturer av XML:en (dvs, nästan DOM men vettigare syntax och mindre minnesanvändning)


Svara

Sv: SAX

Postades av 2004-07-30 17:32:30 - Ola Lindfeldt

SAX är klart svårare men grymt mycket snabbare.
Tanken är just att optimera för prestanda så att man gör så lite som möjligt i grunden och sedan bygger på vad man behöver för att få en optimal lösning.
SAX implementationen i NET's XmlTextReader är mkt bra och hyffsat lätt att använda.

Ola


Svara

Nyligen

  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper
  • 16:36 Allt du behöver veta om keramiskt
  • 16:14 Vem anlitar man egentligen när tak
  • 16:14 Vem anlitar man egentligen när tak
  • 16:13 Vem anlitar man egentligen när tak
  • 11:52 Noen erfaring med uttak hos Mostbe
  • 11:51 Noen erfaring med uttak hos Mostbe

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 574
27 958
271 741
5 725
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies