19. november 2007 - 11:41 Der er 1 løsning

Ekstern kilde (url) som XMLDataSource vil ikke (XPath eller XSL?)

Jeg har et problem, som jeg er ude af stand til at løse. Jeg skal simpelthen binde en kontrol til en XML-fil, med den forskel at den XML-fil hentes fra en ekstern url (http://eb.xstream.dk/api/CatReqEngine.php)

Jeg har en XmlDataSource på min webformular som jeg har prøvet at sætte XPath attributten korrekt for, men kontrollen (en DropDownListe) forblev tom.

Så prøvede jeg med en xsl-fil i henhold til løsningen her: http://www.eksperten.dk/spm/691717

Men nu får jeg følgende fejlmeddelelse:

"Den angivne node kan ikke indsættes som den gyldige underordnede node til denne node, fordi den angivne node har en forkert type."

Hvad går der galt?

Her er lidt kode:

<asp:XmlDataSource ID="XmlDataSource1" runat="server"
    DataFile="http://eb.xstream.dk/api/CatReqEngine.php" TransformFile="xstreamCat.xslt" />

Og xsl-filen:

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:template match="categories">
    <categories>
      <xsl:apply-templates select="category"/>
    </categories>
  </xsl:template>
  <xsl:template match="category">
    <category>
      <xsl:attribute name="name">
        <xsl:value-of select="name"/>
      </xsl:attribute>
      <xsl:attribute name="id">
        <xsl:value-of select="id"/>
      </xsl:attribute>
    </category>
  </xsl:template>
</xsl:stylesheet>
21. november 2007 - 13:30 #1
Det lykkedes med sådan en xsl-fil:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:ab="eb">
     
      <xsl:template match="/">
        <ab:categories>
          <xsl:apply-templates select="ab:categories/ab:category"/>
        </ab:categories>
      </xsl:template>
      <xsl:template match="ab:categories/ab:category">
      <ab:category>
        <xsl:attribute name="id">
          <xsl:value-of select="ab:id"/>
        </xsl:attribute>
        <xsl:attribute name="name">
          <xsl:value-of select="ab:name"/>
        </xsl:attribute>
    </ab:category>
  </xsl:template>
</xsl:stylesheet>

Det var tilsyneladende et namespace-problem. Typisk!
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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