Gå til innhold

System.XML: hvorfor skiller det seg ut?


Anbefalte innlegg

Argh!

Er det noen som har noen peiling på hvorfor system.xml er lagt opp så idiotisk, og annerledes forhold til resten av .NET?

 

XmlDocument.CreateElement? hvorfor har de ikke brukt constructors istedet? dette gjør koden så utrolig mye større og mer tungvin en nødvendig.

 

Håper det ligger noe smart i bunnen her, for System.Xml må være det mest idiotiske jeg har sett...

Lenke til kommentar
Videoannonse
Annonse

Tror det har med hvordan XML dokumenter oppfører seg. Gjelder ikke bare .Net. Har sett tilsvarende i java.

 

Elementer tilhører dokumentet men kan og kan ikke være en del av xml treet. Du har vel oppdaget at det ikke bare er å flytte en node fra et dokument til et annet. Den må importeres over.

 

Tipper de bare har fulgt en standard.

 

Hvorfor man har en slik standard aner jeg ikke. Kanskje det har noe med hvordan man traverserer XML på. Muligens at performance er årsaken.

Endret av wolf5
Lenke til kommentar

Dette har nok med DOM (Document Object Model) å gjøre.

 

Se på f.eks.:

 

http://www.w3.org/TR/2004/REC-DOM-Level-3-...html#i-Document

 

Fordelen er at en får et uniformt grensesnitt på tvers av plattformer. Ulempen er selvsagt at hansken ikke alltid passer alle hender.

 

F.eks. i Java så har en (i alle fall i gamle dager, en stund siden jeg balet med XML/DOM der) et sett med interfaces osv som beskriver DOM, og så har en god del implementasjoner som har ulike ytelseparametere.

 

Ditto er for SAX, XPath osv.

Lenke til kommentar

Så det er på en måte en standard som bestemmer hvordan Xml oppsettet skal være? jeg skratter, høyt.

 

Det er så fyldig plagsomt at XmlNode og XmlElement og ihvertfall XmlAttribute ikke har constructors, som fører til [/u]massiv[/u] code bloat når en skal bygge opp Xml dokumenter...

Enda godt jeg kan bruke XmlSerializer i mitt tilfelle.

Lenke til kommentar

Neida, nå må dere ikke blande kortene. :-)

 

Det er ingenting som sier at en må bruke DOM for å lage XML-dokumenter.

 

Det er flere ting her:

 

1. Spesifikasjonen på XML-formatet.

2. Spesifikasjon på DOM, som kan brukes for å manipulere/jobbe med XML-dokumentet

 

 

Det er helt opp til MS om de vil ha en DOM-implementasjon som standard i .NET.

 

Det er som sagt, både ulemper og fordeler med dette. Ulemper at ikke alt blir like elegant overalt, men samtidig sitter det ikke 3000 programmere som prøver å finne opp hjulet på nytt.

 

Selv har jeg laget en del XmlHelper-libs som tar seg av slitsomme ting som elementer med attributter, hente ut innertext fra childnodes osv.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...