سؤال

لدي XML التالية:

<?xml version="1.0" encoding="utf-8" ?>
 <ApplicationSettingCategories>
 <Category>Cat1</Category>
 <Category>Cat2</Category>
 <Category>Cat3</Category>
 <Category>Cat4</Category>
 <Category>Cat5</Category>
 <Category>Cat6</Category>
</ApplicationSettingCategories>

أحاول ربط هذا XML إلى قائمة هبوطية في ASP.NET باستخدام XMLDATASOURCE و XSLT. هذه أول مرة أفعل فيها هذا. تظهر القائمة المنسدلة العدد الصحيح من العناصر الفارغة، مما يؤديني إلى الاعتقاد بأن التكرار يعمل ولكن القيم والنص فارغة.

أي مساعدة في تحديد خطأي ستكون موضع تقدير.

شكرا

بلدي xlst.

<?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="ApplicationSettingCategories">
    <Categories>
        <xsl:apply-templates select="Category"/>
    </Categories>
</xsl:template>

<xsl:template match="Category">
    <Category>
        <xsl:attribute name="Category">
            <xsl:value-of select="Category"/>
        </xsl:attribute>
    </Category>
</xsl:template>

بلدي ASPX.

<asp:DropDownList ID="ddl1" runat="server" DataSourceID="XmlDataSource1" 
DataTextField="Category" DataValueField="Category" />
    <asp:XmlDataSource ID="XmlDataSource1" runat="server" 
    DataFile="~/App_Data/Xml/SettingCategory.xml" 
    TransformFile="~/Schema/AppCategoryXSLT.xslt"></asp:XmlDataSource>

عرض المصدر الخاص بي

<select name="ddl1" id="ddl1">
<option value=""></option>
<option value=""></option>
<option value=""></option>
<option value=""></option>
<option value=""></option>
<option value=""></option>
</select>
هل كانت مفيدة؟

المحلول

هذا الخط هو مشكلتك:

<xsl:value-of select="Category"/>

في هذه المرحلة (داخل Category القالب)، العقدة السياق هي الفئة الحالية. المحدد لديك على xsl:value-of تبحث عن عنصر الطفل العقدة السياق وتسمى أيضا Category. وبعد ما عليك سوى تغيير هذا السطر للحصول على قيمة نص العقدة السياق بدلا من ذلك:

<xsl:value-of select="text()"/>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top