Toon posts:

ASP.NET 2.0 + Weergave XML gegevens

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een probleem met het juist weergeven van gegevens die zich in een XML-file bevinden.
Ik krijg alle gegevens die ik wil weergeven op het scherm. Maar bij de gegevens van "address" bevindt zich het probleem. Bij "address" staat namelijk het ganse adres, maar hier zouden op bepaalde plaatsen "ENTERS" gezet moeten worden. Weet iemand hier hoe ik deze "ENTERS" erin krijg?

Ik heb een vermoeden dat het met een XSLT moet gaan gebeuren

Of is het mogelijk om dit attribuut in een variabele te steken zodat ik het kan bewerken

code:
1
2
3
4
5
6
7
8
9
10
11
<asp:XmlDataSource ID="XmlDataSource1" runat="server" DataFile="~/App_Data/complexinfo.xml"
XPath="//test_complexinfo/comp">
        </asp:XmlDataSource>
        <asp:Repeater ID="Repeater1" runat="server" DataSourceID="XmlDataSource1">
        <ItemTemplate>
              <div style="text-transform: uppercase;">
                   <%#XPath("@NAME")%> <br />
              </div>
              <%#XPath("address")%><br />     
        </ItemTemplate>
        </asp:Repeater>

[ Voor 34% gewijzigd door Verwijderd op 04-05-2006 17:14 ]


Verwijderd

ehm ik wil niet vervelend doen maar XML weet echt niet wat een "ENTERS" of "ENTER" is. Dus je kan het niet op lossen op deze manier. XML kan namelijk alleen data vast houden geen styling

misschien eens naar http://www.w3schools.com/ gaan.

  • mindcrash
  • Registratie: April 2002
  • Laatst online: 22-11-2019

mindcrash

Rebellious Monkey

Verwijderd schreef op donderdag 04 mei 2006 @ 16:46:
Ik heb een probleem met het juist weergeven van gegevens die zich in een XML-file bevinden.
Ik krijg alle gegevens die ik wil weergeven op het scherm. Maar bij de gegevens van "address" bevindt zich het probleem. Bij "address" staat namelijk het ganse adres, maar hier zouden op bepaalde plaatsen "ENTERS" gezet moeten worden. Weet iemand hier hoe ik deze "ENTERS" erin krijg?

Ik heb een vermoeden dat het met een XLST moet gaan gebeuren
Hoeft niet met een XSLT, je kan het ook op een andere manier oppakken. Voor beide geldt echter dat je je XML data moet herstructureren, want het stuk code wat je gepost hebt zal er namelijk als volgt uit gaan zien:

code:
1
2
3
4
5
6
7
8
9
10
11
12
<asp:XmlDataSource ID="XmlDataSource1" runat="server" DataFile="~/App_Data/complexinfo.xml"
XPath="//test_complexinfo/comp">
        </asp:XmlDataSource>
        <asp:Repeater ID="Repeater1" runat="server" DataSourceID="XmlDataSource1">
        <ItemTemplate>
              <div style="text-transform: uppercase;">
                   <%#XPath("@NAME")%> <br />
              </div>
              <%#XPath("address/street")%> <%#XPath("address/number") %><br />
               <%#XPath("address/zipcode") %> <%#XPath("address/city") %><br />
        </ItemTemplate>
        </asp:Repeater>

"The people who are crazy enough to think they could change the world, are the ones who do." -- Steve Jobs (1955-2011) , Aaron Swartz (1986-2013)


Verwijderd

En als je niet de mogelijkheid hebt om je xml structuur te veranderen, kan je het natuurlijk ook nog altijd ulgy oplossen met een split ;)

Verwijderd

Topicstarter
Het is niet mogelijk om de XML aan te passen.

Maar wat bedoel je juist met een split ???
Is het niet mogelijk om deze gegevens in een variabele te steken zodat ik ze dan kan manipuleren?? Zo ja weet iemand hoe dat men dit doet

Greetz

  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 23-12-2025

_Thanatos_

Ja, en kaal

Als ik het probleem goed begrijp, moeten kale newlines door <br/> elementen vervangen worden. Als dat zo is, kan dat wel degelijk in XSLT. Ik heb daar een tijdje geleden een template voor geschreven:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<xsl:template name="replace">
    <xsl:param name="string"/>
    <xsl:choose>
        <xsl:when test="contains($string,'
')">
            <xsl:value-of select="substring-before($string,'
')"/>
            <br/>
            <xsl:call-template name="replace">
                <xsl:with-param name="string" select="substring-after($string,'
')"/>
            </xsl:call-template>
        </xsl:when>
        <xsl:otherwise>
            <xsl:value-of select="$string"/>
        </xsl:otherwise>
    </xsl:choose>
</xsl:template>

Die kun je dan als volgt aanroepen:
code:
1
2
3
<xsl:call-template name="replace">
    <xsl:with-param name="string" select="{xpath-query}"/>
</xsl:call-template>

日本!🎌


Verwijderd

Split is ongeveer dezelfde oplossing als hierboven, maar dan gewoon in code (C# of VB.NET)

Ik ga het je hier niet voorkauwen, als je graag wil weten hoe het werkt moet je maar op msdn zoeken op String.split().

Je kan natuurlijk ook gewoon de code van me boven buurman gebruiken.
Pagina: 1