ASP.Net/XML/XML DataList

Материал из .Net Framework эксперт
Перейти к: навигация, поиск

Displaying XML Data in Nested DataList Controls

   <source lang="csharp">

<%-- Code Revised from

Professional ASP.NET 2.0 XML (Programmer to Programmer) (Paperback) by Thiru Thangarathinam

  1. Publisher: Wrox (January 18, 2006)
  2. Language: English
  3. ISBN: 0764596772

--%>

<%@ Page Language="C#" %> <html> <head>

   <title>Displaying XML Data in Nested DataList Controls</title>

</head> <body>

 <form runat="server">

Bookstore: Fiction

   <asp:XmlDataSource id="MySource" DataFile="Bookstore.xml" 
     XPath="bookstore/genre[@name="Fiction"]/book" runat="server"/>
   <asp:DataList id="DataList1" DataSourceId="MySource" runat="server">
     <ItemTemplate>
             <img src="<%# XPath("@ISBN") + ".jpg" %>">

<%# XPath("@Title") %>

             ISBN: <%# XPath("@ISBN") %>
Price: <%# XPath("@Price") %>
         <asp:DataList id="DataList2" DataSource="<%# XPathSelect("chapter") %>" runat="server">
           <ItemTemplate>
             
Chapter <%# XPath("@num") %>: <%# XPath("@name") %>
<%# XPath(".") %> </ItemTemplate> </asp:DataList> </ItemTemplate> </asp:DataList> </form>

</body> </html>

<%-- <bookstore>

 <genre name="Fiction">
   <book ISBN="10-861003-324" Title="title 1" Price="19.99">
     <chapter num="1" name="Introduction">
       A
     </chapter>
     <chapter num="2" name="Body">
       B
     </chapter>
     <chapter num="3" name="Conclusion">
       C
     </chapter>
   </book>
   <book ISBN="1-861001-57-5" Title="title " Price="24.95">
     <chapter num="1" name="Introduction">
       D
     </chapter>
     <chapter num="2" name="Body">
       E
     </chapter>
     <chapter num="3" name="Conclusion">
       F
     </chapter>
   </book>   
 </genre>
 <genre name="NonFiction">
   <book ISBN="10-861003-324" Title="title 2" Price="19.99">
     <chapter num="1" name="Introduction">
       G
     </chapter>
     <chapter num="2" name="Body">
       H
     </chapter>
     <chapter num="3" name="Conclusion">
       I
     </chapter>
   </book>   
   <book ISBN="1-861001-57-6" Title="title 3" Price="27.95">
     <chapter num="1" name="Introduction">
       J
     </chapter>
     <chapter num="2" name="Body">
       K
     </chapter>
     <chapter num="3" name="Conclusion">
       L
     </chapter>
   </book>
 </genre>

</bookstore> --%>

<%-- <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

 <xsl:template match="bookstore">
   <bookstore>
     <xsl:apply-templates select="genre"/>
   </bookstore>
 </xsl:template>
 <xsl:template match="genre">
   <genre>
     <xsl:attribute name="name">
       <xsl:value-of select="@name"/>
     </xsl:attribute>
     <xsl:apply-templates select="book"/>
   </genre>
 </xsl:template>
 <xsl:template match="book">
   <book>
     <xsl:attribute name="ISBN">
       <xsl:value-of select="@ISBN"/>
     </xsl:attribute>
     <xsl:element name="title">
       <xsl:value-of select="title"/>
     </xsl:element>
     <xsl:element name="price">
       <xsl:value-of select="price"/>
     </xsl:element>
     <xsl:apply-templates select="chapters/chapter" />
   </book>
 </xsl:template>
 <xsl:template match="chapter">
   <chapter>
     <xsl:attribute name="num">
       <xsl:value-of select="@num"/>
     </xsl:attribute>
     <xsl:attribute name="name">
       <xsl:value-of select="@name"/>
     </xsl:attribute>
     <xsl:apply-templates/>
   </chapter>
 </xsl:template>

</xsl:stylesheet>

--%>

      </source>