C# ASP Repeater-不从xPath重复数据

C# ASP Repeater-不从xPath重复数据,c#,asp.net,xpath,C#,Asp.net,Xpath,我有一个XML数据源,它提供了一个repeater控件。然而,我在显示实际数据时遇到了一些问题 XML数据源包含材料厚度列表(取自较大的XML文件),以及价格、尺寸和尺寸数据: <Thickness> <Thick> <Size label="Thickness: 12"><![CDATA[12]]></Size> <Price>5778</Price> <From>0&l

我有一个XML数据源,它提供了一个repeater控件。然而,我在显示实际数据时遇到了一些问题

XML数据源包含材料厚度列表(取自较大的XML文件),以及价格、尺寸和尺寸数据:

<Thickness>
  <Thick>
    <Size label="Thickness: 12"><![CDATA[12]]></Size>
    <Price>5778</Price>
    <From>0</From>
    <To>0</To>
  </Thick>
  <Thick>
    <Size label="Thickness: 22"><![CDATA[22]]></Size>
    <Price>5919</Price>
    <From>0</From>
    <To>0</To>
  </Thick>
  ...
</Thickness>
(另一个XPath内容只是为了获得厚度内容)。然后,我尝试将其加载到中继器(它被数据绑定到XML数据源),并使用以下代码显示它:

myThickness.XPath = "/Item[@label='" + tvwMaterials.SelectedNode.Text + "']/Thickness/*";
myThickness.DataBind();
<ItemTemplate>
    <table>
        <tr>
            <td><asp:Label ID="lblThickness" runat="server" Text="Thickness: " />
            <asp:TextBox ID="txtThickness" runat="server" Text='<%# XPath("Thick/Size") %>' />
        </tr><tr>
            <td><asp:Label ID="Label2" runat="server" Text="From: " />
            <asp:TextBox ID="TextBox1" runat="server" Text='<%# XPath("Thick/From") %>' />

         /tr>
    </table>
</ItemTemplate>
然后控件确实显示数据,但仅显示第一条记录(12和0)。我对xPAth还不够熟悉,还没有弄清楚为什么需要/*behind Thickness,如果需要,我将如何在中继器中共同构造xPAth来读取值。有人有什么建议吗

提前谢谢

按如下方式加载:

myThickness.XPath = "/Item[@label='" + tvwMaterials.SelectedNode.Text + "']/Thickness/Thick";
myThickness.DataBind();
数据源路径必须引用xml文档中的重复元素

<ItemTemplate>
    <table>
        <tr>
            <td><asp:Label ID="lblThickness" runat="server" Text="Thickness: " />
            <asp:TextBox ID="txtThickness" runat="server" Text='<%# XPath("Size") %>' />
        </tr><tr>
            <td><asp:Label ID="Label2" runat="server" Text="From: " />
            <asp:TextBox ID="TextBox1" runat="server" Text='<%# XPath("From") %>' />

         /tr>
    </table>
</ItemTemplate>

/tr>
<ItemTemplate>
    <table>
        <tr>
            <td><asp:Label ID="lblThickness" runat="server" Text="Thickness: " />
            <asp:TextBox ID="txtThickness" runat="server" Text='<%# XPath("Size") %>' />
        </tr><tr>
            <td><asp:Label ID="Label2" runat="server" Text="From: " />
            <asp:TextBox ID="TextBox1" runat="server" Text='<%# XPath("From") %>' />

         /tr>
    </table>
</ItemTemplate>