order.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="order.aspx.cs" Inherits="order" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head id="Head1" runat="server">
<title>Order</title>
</head>
<body>
<form id="form1" runat="server">
<asp:XmlDataSource runat="server" ID="XmlDataSource1" XPath="orders/order" DataFile="order.xml" />
<asp:Repeater ID="Repeater1" runat="server" DataSourceID="XmlDataSource1">
<ItemTemplate>
<h2>Order</h2>
<table>
<tr>
<td> Customer </td>
<td> <%#XPath("customer/@id")%> </td>
<td> <%#XPath("customername/firstn")%> </td>
<td> <%#XPath("customername/lastn")%> </td>
</tr>
<tr>
<td> Ship To </td>
<td> <%#XPath("shipaddress/address1")%></font> </td>
<td> <%#XPath("shipaddress/city")%> </td>
<td> <%#XPath("shipaddress/state")%>,<%#XPath("shipaddress/zip")%> </td>
</tr>
</table>
<h3> Order Summary</h3>
<asp:Repeater ID="Repeater2" DataSource='<%#XPathSelect("summary/item")%>' runat="server">
<ItemTemplate>
<b> <%#XPath("@dept")%></b> - <%#XPath(".")%><br />
</ItemTemplate>
</asp:Repeater>
<hr />
</ItemTemplate>
</asp:Repeater>
</form>
</body>
</html>
<?xml version="1.0" encoding="iso-8859-1"?>
<orders>
<order>
<customer id="12345" />
<customername>
<firstn>John</firstn>
<lastn>Doe</lastn>
</customername>
<transaction id="12345" />
<shipaddress>
<address1>1234 Tenth Avenue</address1>
<city>Bellevue</city>
<state>Washington</state>
<zip>98001</zip>
</shipaddress>
<summary>
<item dept="tools">screwdriver</item>
<item dept="tools">hammer</item>
<item dept="plumbing">fixture</item>
</summary>
</order>
</orders>
補足
表記 |
意味 |
XPath(".") |
XPathSelectで指定されているタグの中身を表示 |
XPath("xxx") |
XPathSelectで指定されているタグの直下にある「xxx」タグの中身を表示 |
XPath("@yyy") |
XPathSelectで指定されているタグの「yyy」要素の中身を表示 |
XPath("xxx/@yyy") |
XPathSelectで指定されているタグの直下にある「xxx」タグの「yyy」要素の中身を表示 |