Identificering af noder i xmlDocument
HejJeg er ved at udvikle en XML editor. Der findes naturligvis masser, men det skal være lidt specielt med hensyn til hvad der må være i og sådan. Nå men fred være med det.
Det er meningen at man skal kunne se/rette filen på flere forskellige måder. Som almindelig tekst treeview, og som forskellige diagram former.
Da der er disse forskellige måder at vise tingene på har jeg tænkt mig at lave en backend classe der holder styr på hvad der ændres. Det er meningen at det skal være et xmlDocument.
Når brugeren så vælger sit ”view” (hvordan han ønsker filen vist jf. overstående muligheder) beder dette view så backendklassen om det seneste xmlDocument (altså med de rettelser der er foretaget).
Det er så meningen at view classen kun skal sende information tilbage til backenden om hvad der skal ske, og med hvad, og så modtage et nyt xmlDocument der skal vises (altså med ændringer)
Eksempel: Brugeren vælger at se xml filen som et diagram. En node vælges og der trykkes ”slet”. View klassen kalder backend.sletnode(node) (noden slettes). Efterfølgende indlæser viewklassen så det ændrede dokument fra backend klassen.
Det er ideen. Grunden til at det er skruet sådan sammen er at så er der en central enhed der står for logik og der er så kun ét sted der skal ændres. Og at der kan være x antal ”view-clienter” der kun viser og giver besked tilbage om hvad der skal.
Mit spørgsmål går ud på, hvordan identificerer jeg den node jeg har valgt i mit diagram?
Jeg har jo to kopier af samme xmlDocument og jeg har ikke rigtig været i stand til at finde en måde der allerede var indbygget i C# til at kunne identificerer hver node unikt på. Jeg er nu begyndt at gå mod at tælle alle noderne mens man løber dem igennem. Alle noder får på den måde et unikt ID jeg bare kan sende fra View til backend. Men den løsning virker umiddelbar stenalderagtig (og dog så simpel).
Jeg ved nok ikke nok om selve xmlDocument klassen til at se lyset (om end jeg har googlet hæftigt) så har du nogen ideer?