Avatar billede tmo Nybegynder
25. marts 2002 - 09:33 Der er 6 kommentarer og
2 løsninger

XML/DOM

Hej

Jeg har følgende XML:
<a>
<b>test</b>
<c>hej</c>
<a/>
<a>
<b>test1</b>
<c>hej, igen</c>
<a/>
Jeg bruger DOM og ønsker kun, at få værdien af c hvor b == test ??
Avatar billede janegil Nybegynder
25. marts 2002 - 10:21 #1
XML'en din er ikke velformet. Skal være:

<a>
<b>test</b>
<c>hej</c>
</a>
<a>
<b>test1</b>
<c>hej, igen</c>
</a>
Avatar billede tmo Nybegynder
25. marts 2002 - 10:25 #2
ok, en skrivefejl til dette eksempel. Min "rigtige" XML er ikke den samme, men har samme struktur.
Avatar billede janegil Nybegynder
25. marts 2002 - 11:01 #3
Du sier DOM. Men hvis du arbeider på lokale filer, kan du bruke XSL/T innefra DOM (transformNode()), i så fall kan du bruke følgende stilark:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
    <xsl:template match="a/b[text()='test']">
        <xsl:value-of select="../c"/>
    </xsl:template>
    <xsl:template match="b|c"/>
</xsl:stylesheet>
Avatar billede ehf Nybegynder
25. marts 2002 - 11:04 #4
Prøv med følgende xpath

//a[b = 'test']/c

Dette skulle give c i de a elementer som indeholder en b med værdien 'test'
Avatar billede janegil Nybegynder
25. marts 2002 - 11:08 #5
ehf: Ser penere ut enn mitt: Kun én expression, og bruker xpath uten å trekke inn et helt stilark.
Avatar billede ehf Nybegynder
25. marts 2002 - 11:19 #6
janegil

Tak. Men jeg vil nu ikke tage æren. Eksemplet er taget fra Niel Bradleys "The XSL companion"
side 53 (eksempel om specific siblings).
Avatar billede tmo Nybegynder
25. marts 2002 - 16:35 #7
tak for det
Avatar billede tmo Nybegynder
25. marts 2002 - 16:35 #8
ups
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