Avatar billede phuong Nybegynder
13. januar 2005 - 00:13 Der er 3 kommentarer og
1 løsning

Udtræk af en attribut

Hej,

Jeg er lige igang med at lege lidt med XMl og er rendt ind i et mindre problem. Mit XML dokument ser sådan ud:
<BrugerList>
  <Autonr ID="7">
    <Bruger ID="6">
      <Brugernavn>Poul Jensen</Brugernavn>
      <Password>123</Password>
      <Email>asdsa@mail.dk</Email>
      <Køn>Mand</Køn>
      <Fødselsdag>3/Marts/1982</Fødselsdag>
      <Bopæl>Nordsjælland</Bopæl>
      <Oprettet>12-01-2005 23:24:47</Oprettet>
      <Brugertype>Bruger</Brugertype>   
  </Autonr>
</BrugerList>

Jeg vil gerne hente bruger id'et ud. Hvordan henter jeg id'et ud, når jeg ved at brugernavnet er "Poul Jensen"?? Nogle som kan hjælpe mig?

På forhånd tak
Avatar billede Slettet bruger
13. januar 2005 - 00:31 #1
Grundlæggende ved at lave en sti (XPath) til attributten:

//Bruger[Brugernavn = 'Poul Jensen']/@ID

Oversat til menneskesprog betyder det: "Find det 'Bruger' element der indeholder et  'Brugernavn' element med værdien 'Poul Jensen', og tag værdien af 'ID' attributen."

Snabel-a'et (@) er naturligvis den magiske "attribut-udtrækker"

De to skråstreger betyder at *alle* niveauer gennemsøges, hvilket som regel er lidt overkill - men hvis man ikke kender strukturen er det rart at vide.

En lidt mere effektiv XPath kunne være:
/BrugerList/Autonr/Bruger[Brugernavn = 'Poul Jensen']/@ID

- hvor en enkelt skråstreg i starten betyder "start i roden" (som i URL'er).

/CS
Avatar billede Slettet bruger
13. januar 2005 - 00:35 #2
- og XPath'en kan naturligvis benyttes på forskellig vis...

1) I et XSLT stylesheet:

<xsl:value-of select="/BrugerList/Autonr/Bruger[Brugernavn = 'Poul Jensen']/@ID" />


2) I et kald til en XMLDOM method (her JavaScript):

var oIDAttribute = oXMLNode.selectSingleNode("/BrugerList/Autonr/Bruger[Brugernavn='Poul Jensen']/@ID");

/CS
Avatar billede phuong Nybegynder
13. januar 2005 - 01:04 #3
Takker ! :D Nu kan jeg komme videre med at kode :D ... Hvordan giver jeg dig point? :$
Avatar billede phuong Nybegynder
13. januar 2005 - 01:19 #4
Tak
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester