Лучшее руководство по XQuery Выбор и фильтрация в 2024 году. В этом руководстве вы можете изучить
экземпляра XML-документы,Выбрать и фильтрующие элементы,для постановки,пусть заявление,где заявления,упорядочить по заявлению,вернуть заявление:,
XQuery Выбор и фильтрация
экземпляра XML-документы
В следующем примере мы будем продолжать использовать этот "Books.xml" (тот же файл XML и выше раздел используется) документа.
См файл "books.xml" в вашем браузере .
Выбрать и фильтрующие элементы
Как видно в предыдущей главе, мы используем выражение FLWOR или выражение пути для выбора и фильтрующих элементов.
Рассмотрим следующее выражение FLWOR:
for $x in doc("books.xml")/bookstore/book
where $x/price>30
order by $x/title
return $x/title
- для - (необязательно) для каждого из сгруппированных элементов, возвращенных выражением в переменной
- Пусть - (опционально)
- где - (необязательно) задать условие
- упорядочить по - (необязательно) установить порядок в результатах
- вернуться - положения в результатах возвращается содержание
для постановки
Заявление для переменной, привязанной к каждому элементу, возвращаемые в выражении. для итерационными. Там может быть несколько для того же оператора в выражении FLWOR.
Для определенного числа раз в течение цикла заявлении, вы можете использовать ключевые слова:
for $x in (1 to 5)
return <test>{$x}</test>
Результаты:
<test>1</test>
<test>2</test>
<test>3</test>
<test>4</test>
<test>5</test>
Ключевые слова могут быть использованы для вычисления итерации в:
for $x at $i in doc("books.xml")/bookstore/book/title
return <book>{$i}. {data($x)}</book>
Результаты:
<book>1. Everyday Italian</book>
<book>2. Harry Potter</book>
<book>3. XQuery Kick Start</book>
<book>4. Learning XML</book>
В заявлении также позволяет более чем в одном выражении. Пожалуйста, используйте запятую каждая в выражении:
for $x in (10,20), $y in (100,200)
return <test>x={$x} and y={$y}</test>
Результаты:
<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>
пусть заявление
Пусть утверждение может быть полной переменной распределения, а также избегать повторил то же выражение. Пусть утверждение не вызывает итерации.
let $x := (1 to 5)
return <test>{$x}</test>
Результаты:
где заявления
где оператор используется для установки результата одного или нескольких условий (критериев).
where $x/price>30 and $x/price<100
упорядочить по заявлению
упорядочить по заявлению сортировать результаты заранее определенном порядке. Здесь мы хотим, чтобы отсортировать результаты по категориям и названию:
for $x in doc("books.xml")/bookstore/book
order by $x/@category, $x/title
return $x/title
Результаты:
<title lang="en">Harry Potter</title>
<title lang="en">Everyday Italian</title>
<title lang="en">Learning XML</title>
<title lang="en">XQuery Kick Start</title>
вернуть заявление:
оператор возврата указывает вернуть содержимое.
for $x in doc("books.xml")/bookstore/book
return $x/title
Результаты:
<title lang="en">Everyday Italian</title>
<title lang="en">Harry Potter</title>
<title lang="en">XQuery Kick Start</title>
<title lang="en">Learning XML</title>