-5

こんにちは私は最近、ASP.NET(VB)用のXMLの使用を開始しました。私の質問は次のとおりです。

1)コードビハインドで同じことが達成できるのに、なぜxsltを使用する必要があるのですか?2)私のような初心者が理解できるxsltの簡単なチュートリアルリンクを提案できますか。3)次のようなxmlファイルがあります

 <video>
      <name>name</name>
      <source>source</source>
      <category>category</category>
      <date>date</date>
      <description>description</description>
      <image>image</image>
      <tags>tags</tags>   
 </video>

このファイルを次の形式で表示したい

<ItemTemplate >
                <asp:Label ID="nameLabel" runat="server" Text='<%# Eval("name") %>' />
                <br />
                <asp:Image ID="ImgsLabel" runat="server" ImageUrl='<%# Eval("image") %>' />
                <br />
                Length:
                <asp:Label ID="lengthLabel" runat="server" Text='<%# Eval("length") %>' />
                <br />
                Dateloaded:
                <asp:Label ID="DateloadedLabel" runat="server" Text='<%# Eval("date") %>' />
                <br />
                <asp:Label ID="DescriptionLabel" runat="server" Text='<%# Eval("description") %>' Visible="False" />
                <asp:Label ID="sourceLabel" runat="server" Text='<%# Eval("source") %>' Visible="False" />
                <br />
                <asp:LinkButton id="SelectButton" Text="Select" CommandName="Select" runat="server" 
            />                   
            </ItemTemplate>

これはコードビハインドを使用して簡単に実現できることを理解できますが、学習のために、asp.netページでxsltを使用してこれを実現する方法を段階的にガイドしてください。

4

1 に答える 1

0

xsltの例をグーグルで検索し始め、このページにたどり着きました。 これは、xmlとxsltを試す最初の日であることを覚えておいてください。私は通常、アプリケーションでsqlデータソースを使用します。

だから私は基本的にこのようなxmlファイルを持っています

   <?xml version="1.0" encoding="utf-8" ?>
   <!DOCTYPE video [
   <!ELEMENT video (name,embedsource,category,date,description,image,tags)>
   <!ELEMENT name (#PCDATA)>
   <!ELEMENT embedsource (#PCDATA)>
   <!ELEMENT category (#PCDATA)>
   <!ELEMENT date (#PCDATA)>
   <!ELEMENT description (#PCDATA)>
   <!ELEMENT image (#PCDATA)>
   <!ELEMENT tags (#PCDATA)>
  ]> <!-- This part is the Document Type Definition -->
  <video>
  <name>somename</name>
  <embedsource>some source</embedsource>
  <category>some category</category>
  <date>16/03/2013</date>
  <description>some description</description>
  <image>some image link</image>
  <tags>sometag1,,sometag2,,sometag3,,sometag4</tags>   
  </video> <!-- This part contains the actual data -->

これでデータができましたが、このデータを表示/コントロール(グリッドビュー、データリスト、または使い慣れたものであれば何でもかまいません)アプリケーションにフィードする方法が必要です。もちろん、これを実現するために文字列関数やその他のコードを使用することもできますが、変換を使用します(変換に関する詳細情報はw3schoolリンクで入手できます) 。

    <?xml version="1.0" encoding="utf-8"?>
     <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
     xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"
     >
     <xsl:output method="xml" indent="yes"/>

     <xsl:template match="/">
       <video>
        <xsl:apply-templates select="//video"/>
       </video>
       </xsl:template>
       <xsl:template match ="//video">
       <video>
       <xsl:attribute name="name">
       <xsl:value-of select="name"/>
       </xsl:attribute>
       <xsl:attribute name="description">
       <xsl:value-of select="description"/>
       </xsl:attribute>
       <xsl:attribute name="category">
       <xsl:value-of select="category"/>
       </xsl:attribute>
       <xsl:attribute name="date">
       <xsl:value-of select="date"/>
       </xsl:attribute>
       <xsl:attribute name="embedsource">
       <xsl:value-of select="embedsource"/>
       </xsl:attribute>
       <xsl:attribute name="tags">
       <xsl:value-of select="tags"/>
       </xsl:attribute>
       </video>
       </xsl:template>
       </xsl:stylesheet> <!-- Notice that I am using Attribute in my xslt but in my xml
       file data is in Element form that is because DATASETS can only recognise 
       Attributes. Attributes and Elements are interchangeable in an xml file
       and it is entirely upto you. I can be wrong here please correct me if it is the
       case.  --> 

              

そして最後のステップは、xmlデータソースを構成することです。ファイルパスはxmlファイルへのパスになり、変換パスはxsltファイルへのパスになります。アプリケーションにデータリストを追加すると、マッドサイエンティストがmuhahahahahhahaaaaになります。

xsltを使用することの賛否両論はまだ開いており、この部分はまもなく終了します。

于 2013-03-16T13:19:34.520 に答える