The following code example demonstrates how to use an XmlDataSource control with a templated Repeater control to display XML data that has been filtered using an XPath expression. In this example, XPath syntax is used to filter the XML data when the XPath property of the data source control is set, and also binds elements of the Repeater control template to the XML data.
|
<%@ Page Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html >
<head runat="server">
<title>ASP.NET Example</title>
</head>
<body>
<form id="form1" runat="server">
<asp:XmlDataSource
id="XmlSource"
DataFile="bookstore.xml"
runat="server"
XPath="bookstore/genre[@name='fiction']"/>
<asp:Repeater
DataSourceID="XmlSource"
runat="server">
<ItemTemplate>
<h1><%# XPath ("book/title") %></h1>
<b>Price:</b>
<%# XPath ("book/price") %>
</ItemTemplate>
</asp:Repeater>
</form>
</body>
</html>
|
|
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html >
<head runat="server">
<title>ASP.NET Example</title>
</head>
<body>
<form id="form1" runat="server">
<asp:XmlDataSource
id="XmlSource"
DataFile="bookstore.xml"
runat="server"
XPath="bookstore/genre[@name='fiction']"/>
<asp:Repeater
DataSourceID="XmlSource"
runat="server">
<ItemTemplate>
<h1><%# XPath ("book/title") %></h1>
<b>Price:</b>
<%# XPath ("book/price") %>
</ItemTemplate>
</asp:Repeater>
</form>
</body>
</html>
|
|
<%@ Page Language="VJ#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html >
<head runat="server">
<title>ASP.NET Example</title>
</head>
<body>
<form id="form1" runat="server">
<asp:XmlDataSource
id="XmlSource"
DataFile="bookstore.xml"
runat="server"
XPath="bookstore/genre[@name='fiction']"/>
<asp:Repeater
DataSourceID="XmlSource"
runat="server">
<ItemTemplate>
<h1><%# XPath ("book/title") %></h1>
<b>Price:</b>
<%# XPath ("book/price") %>
</ItemTemplate>
</asp:Repeater>
</form>
</body>
</html>
|
The XML file in the code example has the following data:
|
<bookstore>
<genre name="fiction">
<book ISBN="0000000000">
<title>Secrets of Silicon Valley</title>
<price>12.95</price>
<chapters>
<chapter num="1" name="Introduction" />
<chapter num="2" name="Body" />
<chapter num="3" name="Conclusion" />
</chapters>
</book>
</genre>
<genre name="novel">
<book genre="novel" ISBN="1111111111">
<title>Straight Talk About Computers</title>
<price>24.95</price>
<chapters>
<chapter num="1" name="Introduction" />
<chapter num="2" name="Body" />
<chapter num="3" name="Conclusion" />
</chapters>
</book>
</genre>
</bookstore>
|