XQuery FLWOR + HTML


XML 实例文档

我们将在下面的例子中继续使用这个 "books.xml" 文档(与上一节中的文件相同)。

在一个 HTML 列表中提交结果

请看下面的 XQuery FLWOR 表达式:

for $x in doc("books.xml")/bookstore/book/title
order by $x
return $x

上面的表达式会选取 bookstore 元素下的 book 元素下的所有 title 元素,并以字母顺序返回 title 元素。

现在,我们希望使用 HTML 列表列出我们的书店中所有的书目。我们向 FLWOR 表达式添加 <ul> 和 <li> 标签:

<ul>
{

for $x in doc("books.xml")/bookstore/book/title
order by $x
return <li>{$x}</li>
}
</ul>

以上代码输出结果:

<ul>
<li><title lang="en">Everyday Italian</title></li>
<li><title lang="en">Harry Potter</title></li>
<li><title lang="en">Learning XML</title></li>
<li><title lang="en">XQuery Kick Start</title></li>
</ul>

现在我们希望去除 title 元素,而仅仅显示 title 元素内的数据。

<ul>
{
for $x in doc("books.xml")/bookstore/book/title
order by $x
return <li>{data($x)}</li>
}
</ul>

结果将是一个 HTML 列表:

<ul>
<li>Everyday Italian</li>
<li>Harry Potter</li>
<li>Learning XML</li>
<li>XQuery Kick Start</li>
</ul>