XQuery 튜토리얼login
XQuery 튜토리얼
작가:php.cn  업데이트 시간:2022-04-21 16:43:44

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
  • for - (선택 사항) in 표현식에서 반환된 각 항목에 변수를 묶습니다.

  • let - (선택 사항)

  • where - (선택 사항) 조건 설정

  • order by - (선택 사항) ) 결과가 정렬되는 순서를 설정합니다.

  • return - 결과에 반환되는 내용을 지정합니다.

for 문

for 문은 변수를 in 식 프로젝트에서 반환된 각 값에 바인딩할 수 있습니다. for 문은 반복을 생성합니다. 동일한 FLWOR 표현식에 여러 개의 for 문이 존재할 수 있습니다.

for 문에서 지정된 횟수만큼 반복하려면 키워드를 사용하여 다음을 수행할 수 있습니다.

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>

키워드 at 를 사용하여 반복을 계산할 수 있습니다.

for $x at $i in doc("books.xml")/bookstore/book/title
return <book>{ $i}.</book>

결과:

<book>1. Everyday Italian</book>
<book>2. <책>3. 표현식에서 각각을 구분하려면 쉼표를 사용하세요.

for $x in (10,20), $y in (100,200)
return <test>x={$x} and y={$y}< ;/ test>

결과:

<test>x=10 및 y=100</test>
<test>x=10 및 y=200</test>

<test>x= 20 및 y=100</test>

<test>x=20 및 y=200</test>

let 문

let 문은 변수 할당을 완료하고 동일한 표현식이 여러 번 반복되는 것을 방지합니다. let 문은 반복을 발생시키지 않습니다.

let $x := (1 to 5)
return <test>{$x}</test>

결과:

<test>1 2 3 4 5</test>

where 문

where 문은 결과에 대한 하나 이상의 조건(기준)을 설정하는 데 사용됩니다.

여기서 $x/price>30 및 $x/price<100

order by 문

order by 문은 결과의 정렬 순서를 지정하는 데 사용됩니다. 여기서는 카테고리와 제목에 따라 결과를 정렬해야 합니다.

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">일상 이탈리아어</title>
<title lang= " en">Learning XML</title>
<title lang="en">XQuery Kick Start</title>

return 문:

return 문은 반환할 콘텐츠를 지정합니다.

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

결과:

<title lang="en">일상 이탈리아어</title>
<title lang="ko">해리 포터</title>
<title lang="ko">XQuery 시작</title>
<title lang="ko">XML 학습</title> ;