📄 xquery_select.asp
字号:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en-US" xml:lang="en-US" xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>XQuery Selecting and Filtering</title>
<link rel="shortcut icon" href="../favicon.ico" type="image/x-icon" />
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<meta name="Keywords" content="xml,tutorial,html,dhtml,css,xsl,xhtml,javascript,asp,ado,vbscript,dom,sql,colors,soap,php,authoring,programming,training,learning,beginner's guide,primer,lessons,school,howto,reference,examples,samples,source code,tags,demos,tips,links,FAQ,tag list,forms,frames,color table,w3c,cascading style sheets,active server pages,dynamic html,internet,database,development,Web building,Webmaster,html guide" />
<meta name="Description" content="Free HTML XHTML CSS JavaScript DHTML XML DOM XSL XSLT RSS AJAX ASP ADO PHP SQL tutorials, references, examples for web building." />
<meta http-equiv="pragma" content="no-cache" />
<meta http-equiv="cache-control" content="no-cache" />
<link rel="stylesheet" type="text/css" href="../stdtheme.css" />
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "../../https@ssl./default.htm" : "../../www./default.htm");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-3855518-1");
pageTracker._initData();
pageTracker._trackPageview();
</script>
</head>
<body>
<a name="top"></a>
<table cellpadding="0" cellspacing="0" width="100%" bgcolor="#808080">
<tr>
<td width="234" valign="top">
<a href="../default.htm"><img src="../images/w3default80.jpg" border="0" alt="W3Schools" /></a>
</td>
<th valign="middle" align="left" class="right">
<script type="text/javascript"><!--
google_ad_client = "pub-3440800076797949";
/*txtimg*/
google_ad_slot = "5330033957";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript" src="../../pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
<noscript>
<a href="../default.asp" target="_blank"><img src="../banners/w6.gif" border="0" alt="W3Schools" /></a>
</noscript>
<br /></th>
</tr>
</table>
<table style="margin-left:1px" width="800px" border="0" cellpadding="0" cellspacing="2">
<tr>
<td width="137" class="content" valign="top"><br />
<a class="left" href="../default.asp" target="_top">
<img src="../images/homeicon.gif" border="0" alt="home" /></a>
<a class="left" href="../default.asp" target="_top">
<b>HOME</b></a>
<br /><br />
<b>XQuery Basic</b><br />
<a class="left" target="_top" href="default.asp" >XQuery HOME</a><br />
<a class="left" target="_top" href="xquery_intro.asp" >XQuery Intro</a><br />
<a class="left" target="_top" href="xquery_example.asp" >XQuery Example</a><br />
<a class="left" target="_top" href="xquery_flwor.asp" >XQuery FLWOR</a><br />
<a class="left" target="_top" href="xquery_flwor_html.asp" >XQuery HTML</a><br />
<a class="left" target="_top" href="xquery_terms.asp" >XQuery Terms</a><br />
<a class="left" target="_top" href="xquery_syntax.asp" >XQuery Syntax</a><br />
<br />
<b>XQuery Advanced</b><br />
<a class="left" target="_top" href="xquery_add.asp" >XQuery Add</a><br />
<a class="left" target="_top" href="xquery_select.asp" style='font-weight:bold;'>XQuery Select</a><br />
<a class="left" target="_top" href="xquery_functions.asp" >XQuery Functions</a><br />
<a class="left" target="_top" href="xquery_summary.asp" >XQuery Summary</a><br />
<br />
<b>XQuery Reference</b><br />
<a class="left" target="_top" href="xquery_reference.asp" >XQuery Reference</a><br />
<br />
<b>Selected Reading</b><br />
<a class="left" target="_top" href="../browsers/browsers_stats.asp">Web Statistics</a><br />
<a class="left" target="_top" href="../site/site_glossary.asp">Web Glossary</a><br />
<a class="left" target="_top" href="../hosting/default.asp">Web Hosting</a><br />
<a class="left" target="_top" href="../quality/default.asp">Web Quality</a><br /><br />
<a class="left" target="_top" href="../forum/default.asp">W3Schools Forum</a><br /><br />
<a class="left" target="_top" href="../about/about_helping.asp">Helping W3Schools</a><br /><br />
<script type="text/javascript"><!--
google_ad_client = "pub-3440800076797949";
/*LeftLinkUnit*/
google_ad_slot = "4854527104";
google_ad_width = 120;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="../../pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</td>
<td valign="top">
<table style="border: 1px solid gray" width="100%" bgcolor="#FFFFFF" border="0" cellpadding="5" cellspacing="0">
<tr>
<td>
<h1>XQuery Selecting and Filtering</h1>
<a href="xquery_add.asp"><img alt="previous" border="0" src="../images/btn_previous.gif" /></a>
<a href="xquery_functions.asp"><img alt="next" border="0" src="../images/btn_next.gif" width="100" height="20" /></a>
<hr />
<h2>The XML Example Document</h2>
<p>We will use the "books.xml" document in the examples below (same
XML file as in the previous chapters).</p>
<p><a target="_blank" href="books.xml">View the "books.xml" file in your browser</a>.</p>
<hr />
<h2>Selecting and Filtering Elements</h2>
<p>As we have seen in the previous chapters, we are selecting and filtering elements
with either a Path expression or with a FLWOR expression.</p>
<p>Look at the following FLWOR expression:</p>
<table width="100%" border="1" class="ex" cellspacing="0" id="table12">
<tr>
<td>
<pre>for $x in doc("books.xml")/bookstore/book
where $x/price>30
order by $x/title
return $x/title</pre>
</td>
</tr>
</table>
<ul>
<li>for - (optional) binds a variable to each item returned by the in expression</li>
<li>let - (optional) </li>
<li>where - (optional) specifies a criteria</li>
<li>order by - (optional) specifies the sort-order of the result</li>
<li>return - specifies what to return in the result</li>
</ul>
<h2>The for Clause</h2>
<p>The for clause binds a variable to each item returned by the in expression.
The for clause results in iteration. There can be multiple for clauses in the same FLWOR expression.</p>
<p>To loop a specific number of times in a for clause, you may use the <b>to</b>
keyword:</p>
<table width="100%" border="1" class="ex" cellspacing="0" id="table13">
<tr>
<td>
<pre>for $x in (1 to 5)
return <test>{$x}</test></pre>
</td>
</tr>
</table>
<p>Result:</p>
<table width="100%" border="1" class="ex" cellspacing="0" id="table21">
<tr>
<td>
<pre><test>1</test>
<test>2</test>
<test>3</test>
<test>4</test>
<test>5</test></pre>
</td>
</tr>
</table>
<p>The <b>at</b> keyword can be used to count the iteration:</p>
<table width="100%" border="1" class="ex" cellspacing="0" id="table18">
<tr>
<td>
<pre>for $x at $i in doc("books.xml")/bookstore/book/title
return <book>{$i}. {data($x)}</book></pre>
</td>
</tr>
</table>
<p>Result:</p>
<table width="100%" border="1" class="ex" cellspacing="0" id="table19">
<tr>
<td>
<pre><book>1. Everyday Italian</book>
<book>2. Harry Potter</book>
<book>3. XQuery Kick Start</book>
<book>4. Learning XML</book></pre>
</td>
</tr>
</table>
<p>It is also allowed with more than one in expression in the for clause. Use
comma to separate each in expression:</p>
<table width="100%" border="1" class="ex" cellspacing="0" id="table14">
<tr>
<td>
<pre>for $x in (10,20), $y in (100,200)
return <test>x={$x} and y={$y}</test></pre>
</td>
</tr>
</table>
<p>Result:</p>
<table width="100%" border="1" class="ex" cellspacing="0" id="table15">
<tr>
<td>
<pre><test>x=10 and y=100</test>
<test>x=10 and y=200</test>
<test>x=20 and y=100</test>
<test>x=20 and y=200</test></pre>
</td>
</tr>
</table>
<h2>The let Clause</h2>
<p>The let clause allows variable assignments and it avoids repeating the same expression many times.
The let clause does not
result in iteration.</p>
<table width="100%" border="1" class="ex" cellspacing="0" id="table28">
<tr>
<td>
<pre>let $x := (1 to 5)
return <test>{$x}</test></pre>
</td>
</tr>
</table>
<p>Result:</p>
<table width="100%" border="1" class="ex" cellspacing="0" id="table29">
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -