次のような XML 階層があるとします。
<Animal>
<Kingdom>
<Phylum>
<Class></Class>
<Class></Class>
</Phylum>
<Phylum>
<Class></Class>
<Class></Class>
</Phylum>
</Kingdom>
<Kingdom>
<Phylum>
<Class></Class>
<Class></Class>
</Phylum>
</Kingdom>
</Animal>
(etc.)
同様に、ネストされたリピーターを使用する ASP.NET コードがあります。次のようになります。
<asp:Repeater ID="ShowKingdom" runat="server" DataSource="(SomeDataSource)">
<ItemTemplate>
<asp:TextBox ID="txtKingdom" runat="server" XPath="/*[local-name()='Animal']/*[local-name()='Kingdom'][{0}]">
<asp:Repeater ID="ShowPhylum" runat="server" OnItemDataBound="(SomeDataBinder)">
<ItemTemplate>
<asp:TextBox ID="txtKingdom" runat="server" XPath="/*[local-name()='Animal']/*[local-name()='Kingdom'][{0}]/*[local-name()='Phylum'][???]">
</ItemTemplate>
</asp:Repeater>
</ItemTemplate>
</asp:Repeater>
私の問題: ネストされたリピーター内の XPath にノード インデックス セレクター"[???]"を指定するにはどうすればよいですか?!?
注: 私の言語は ASP.NET 内の VB です。
編集:別のインデックス「[{1}]」(インデックスの範囲外エラーが発生します)、相対Xpath「[local-name()= 'Phylum']」(「/ *" が先行する -- ノード/パスを認識しない)、ネストされたリピーター データ ソースをいじる (XPath を認識しないかクラッシュする)。
明らかに、私はこれらのいずれかを機能させることができませんでした。別のアプローチを検討する必要がありますか?
編集#2:動作したくない別のこと:ネストされたリピーターの場合:
DataSource="<%# XPathSelect('Phylum')%>"