18. marts 2006 - 12:09Der er
15 kommentarer og 1 løsning
org.w3c.dom: Finde Element relativt i Document
Er det muligt at finde elementer fra en relativ position i et dokument?
Hvis f.eks. et dokument indeholder en masse tabeller, og man er interesseret i at finde en bestemt celle i en bestemt tabel, kunne en fremgangsmåde være, at man først finder den relevante tabel og derefter cellen i den konkrete tabel.
Man kan naturligvis traversere hele dokumentet igennem, men det kan være tungt. Jeg efterspørger i stedet en løsning, hvor man udnytter f.eks. metoden getElementsByTagName() (hvor man jo ikke behøver traversere dokumentet igennem).
Antag f.eks. at man først finder tabellen med: ..getElementsByTagName("table");
- og dernæst finder cellen relativt til tabellen (altså søgende fra den position i dokumentet hvor tabellen er fundet) med: ..getElementsByTagName("td");
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
Slettet bruger
18. marts 2006 - 12:21#1
Det er kun Document som har getElementsByTag/Id osv. så det kan du ikke da Node ikke har sådanne funktioner.
->arne_v: XPath ser mere tilgængeligt ud end DOM. I dit eksempel udnytter du, at navn er indeholdt i medlem. Mit spm. går på noget lidt anderledes, og mit eks. er rigtig dårligt i den sammenhæng, fordi <td> jo er indeholdt i <table>.
Jeg skal prøve at give et andet og bedre eksempel: Antag at en HTML-side indeholder en masse tabeller og noget "fri tekst" mellem tabellerne. Man er herefter interesseret i førstkommende tabel efter en bestemt tekst. Det er ikke givet, at tabellen her er indeholdt i det tag, der indeholder teksten. Man er med andre ord blot interesseret i at søge fra et bestemt sted i dokumentet og fremefter.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.