repeater.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="publishers01.aspx.cs" Inherits="api_other_publishers" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<asp:Repeater ID="rpPublishers" runat="server" DataSourceID="xmlds">
<ItemTemplate>
<h4><%# XPath("PublisherName")%></h4>
<asp:Repeater ID="rpAuthors" runat="server" DataSource='<%# XPathSelect("Authors/Author") %>'>
<ItemTemplate>
<h5><%# XPath("AuthorName") %></h5>
<asp:Repeater ID="rpTitles" runat="server" DataSource='<%# XPathSelect("Titles/Title") %>'>
<HeaderTemplate> <ol> </HeaderTemplate>
<ItemTemplate>
<li> <%# XPath(".") %></li>
</ItemTemplate>
<FooterTemplate> </ol> </FooterTemplate>
</asp:Repeater>
</ItemTemplate>
</asp:Repeater>
</ItemTemplate>
</asp:Repeater>
<asp:XmlDataSource ID="xmlds" runat="server" DataFile="publishers01.xml" XPath="Publishers/Publisher" />
</form>
</body>
</html>
<?xml version="1.0" encoding="UTF-8"?>
<Publishers>
<Publisher>
<PublisherName>アズキー</PublisherName>
<City>東京</City>
<Country>Japan</Country>
<Authors>
<Author>
<AuthorName>太宰治</AuthorName>
<Titles>
<Title>走れメロス</Title>
<Title>人間失格</Title>
<Title>お伽草紙</Title>
</Titles>
</Author>
<Author>
<AuthorName>宮沢賢治</AuthorName>
<Titles>
<Title>銀河鉄道の夜</Title>
</Titles>
</Author>
<Author>
<AuthorName>樋口一葉</AuthorName>
<Titles>
<Title>闇桜</Title>
<Title>たま欅</Title>
</Titles>
</Author>
</Authors>
</Publisher>
<Publisher>
<PublisherName>中学館</PublisherName>
<City>東京</City>
<Country>Japan</Country>
<Authors>
<Author>
<AuthorName>大江健三郎</AuthorName>
<Titles>
<Title>火山</Title>
<Title>奇妙な仕事</Title>
</Titles>
</Author>
<Author>
<AuthorName>司馬 遼太郎</AuthorName>
<Titles>
<Title>梟の城</Title>
<Title>上方武士道</Title>
</Titles>
</Author>
</Authors>
</Publisher>
</Publishers>
補足
「<%# XPath(".") %>」で結構つまづいた。
あと、今回のように要素名を指定しないタイプのXMLの場合、「<%# Eval("XXX") %>」ではないので注意が必要。