수색…


통사론

  1. 노드의 모든 조상
    • / 노드에 대한 경로 / ancestor :: node ()
  2. 노드의 특정 조상
    • / ancestor :: ancestor_name 노드 경로
  3. 노드의 부모
    • / 노드에 대한 경로 / parent :: node ()
  4. 노드의 형제에 이어
    • / 노드에 대한 경로 / following-sibling :: node ()
  5. 노드 다음의 특정 형제
    • / 노드에 대한 경로 / following-sibling :: sibling_name
  6. 노드의 선행 형제
    • / 노드에 대한 경로 / preceding-sibling :: node ()
  7. 노드 앞에있는 특정 형제
    • 노드 / preceding-sibling :: sibling_name에 대한 / 경로
  8. 노드의 모든 직계 자식 노드
    • / 노드에 대한 경로 / child :: node ()
  9. 노드의 특정 직계 자식 노드
    • 노드 / 자식 노드에 대한 / path :: chid_name
  10. 노드의 모든 자손
    • / 노드에 대한 경로 / descendant :: node ()
  11. 노드의 모든 특정 자손
    • 노드 / 자손 :: descendant_name에 대한 / 경로

매개 변수

중심선 선택하다
선조 모든 조상 노드들
부모의 부모 노드
형제 자매 노드 다음의 형제
선행 형제 노드 앞의 형제
어린이 직계 어린이
자손 중첩 레벨에 관계없이 모든 자손

비고

이 축은 우리의 필요에 맞게 다른 기능과 함께 사용할 수 있습니다.

나의 조상 찾기

XML

<GrandFather name="Bardock" gender="male" spouse="Gine">
    <Dad name="Goku" gender="male" spouse="Chi Chi">
        <Me name="Gohan" gender="male"/>
        <brother name="Goten" gender="male"/>
    </Dad>
</GrandFather>

XPATH

//Me/ancestor::node()

산출

<GrandFather name="Bardock" gender="male" spouse="Gine">
  <Dad name="Goku" gender="male" spouse="Chi Chi">
    <Me name="Gohan" gender="male" />
    <brother name="Goten" gender="male" />
  </Dad>
</GrandFather>
<Dad name="Goku" gender="male" spouse="Chi Chi">
  <Me name="Gohan" gender="male" />
  <brother name="Goten" gender="male" />
</Dad>

나의 부모 찾기

XML

<GrandFather name="Bardock" gender="male" spouse="Gine">
    <Dad name="Goku" gender="male" spouse="Chi Chi">
        <Me name="Gohan" gender="male"/>
        <brother name="Goten" gender="male"/>
    </Dad>
</GrandFather>

XPATH

//Me/ancestor::Dad

또는

//Me/parent::node()

산출

<Dad name="Goku" gender="male" spouse="Chi Chi">
  <Me name="Gohan" gender="male" />
  <brother name="Goten" gender="male" />
</Dad>

내 할아버지를 찾는다.

XML

<GrandFather name="Bardock" gender="male" spouse="Gine">
  <Dad name="Goku" gender="male" spouse="Chi Chi">
    <Me name="Gohan" gender="male" />
    <brother name="Goten" gender="male" />
  </Dad>
</GrandFather>

XPATH

//Me/ancestor::GrandFather

또는

//Me/parent::node()/parent::node()

산출

<GrandFather name="Bardock" gender="male" spouse="Gine">
  <Dad name="Goku" gender="male" spouse="Chi Chi">
    <Me name="Gohan" gender="male" />
    <brother name="Goten" gender="male" />
  </Dad>
</GrandFather>

내 동생 찾기

XML

<GrandFather name="Bardock" gender="male" spouse="Gine">
  <Dad name="Goku" gender="male" spouse="Chi Chi">
    <brother name="Goten" gender="male" />
    <Me name="Gohan" gender="male" />
    <brother name="Goten" gender="male" />
  </Dad>
</GrandFather>

XPATH

//Me/following-sibling::brother

산출

<brother name="Goten" gender="male" />

Parashurama하기 전에 모든 아바타 가져 오기

XML

<Dashavatar>
    <Avatar name="Matsya"/>
    <Avatar name="Kurma"/>
    <Avatar name="Varaha"/>
    <Avatar name="Narasimha"/>
    <Avatar name="Vamana"/>
    <Avatar name="Balabhadra"/>
    <Avatar name="Parashurama"/>
    <Avatar name="Rama"/>
    <Avatar name="Krishna"/>
    <Avatar name="Kalki"/>
</Dashavatar>

XPATH

//Avatar[@name='Parashurama']/preceding-sibling::node()

산출

<Avatar name="Matsya"/>
<Avatar name="Kurma"/>
<Avatar name="Varaha"/>
<Avatar name="Narasimha"/>
<Avatar name="Vamana"/>
<Avatar name="Balabhadra"/>

Parashurama 이후 모든 아바타 가져 오기

XML

<Dashavatar>
    <Avatar name="Matsya"/>
    <Avatar name="Kurma"/>
    <Avatar name="Varaha"/>
    <Avatar name="Narasimha"/>
    <Avatar name="Vamana"/>
    <Avatar name="Balabhadra"/>
    <Avatar name="Parashurama"/>
    <Avatar name="Rama"/>
    <Avatar name="Krishna"/>
    <Avatar name="Kalki"/>
</Dashavatar>

XPATH

//Avatar[@name='Parashurama']/following-sibling::node()

산출

<Avatar name="Rama" />
<Avatar name="Krishna" />
<Avatar name="Kalki" />

현재의 것을 제외한 모든 아바타 가져 오기 (Parusharama)

XML

<Dashavatar>
    <Avatar name="Matsya"/>
    <Avatar name="Kurma"/>
    <Avatar name="Varaha"/>
    <Avatar name="Narasimha"/>
    <Avatar name="Vamana"/>
    <Avatar name="Balabhadra"/>
    <Avatar name="Parashurama"/>
    <Avatar name="Rama"/>
    <Avatar name="Krishna"/>
    <Avatar name="Kalki"/>
</Dashavatar>

XPATH

//Avatar[@name='Parashurama']/following-sibling::Avatar | //Avatar[@name='Parashurama']/preceding-sibling::Avatar

산출

<Avatar name="Matsya" />
<Avatar name="Kurma" />
<Avatar name="Varaha" />
<Avatar name="Narasimha" />
<Avatar name="Vamana" />
<Avatar name="Balabhadra" />
<Avatar name="Rama" />
<Avatar name="Krishna" />
<Avatar name="Kalki" />

하우스의 모든 세부 정보 (하위 노드) 가져 오기

XML

<House>
    <Rooms>10</Rooms>
    <People>4</People>
    <TVs>4</TVs>
    <Floors>2</Floors>
</House>

XPATH

/House/child::node()

산출

<Rooms>10</Rooms>
<People>4</People>
<TVs>4</TVs>
<Floors>2</Floors>

하숙집에서 모든 방 (직계 어린이 방) 가져 오기

XML

<House>
    <numRooms>4</numRooms>
    <Room name="living"/>
    <Room name="master bedroom"/>
    <Room name="kids' bedroom"/>
    <Room name="kitchen"/>
</House>

XPATH

/House/child::Room

또는

/House/*[local-name()='Room']

산출

<Room name="living" />
<Room name="master bedroom" />
<Room name="kids' bedroom" />
<Room name="kitchen" />

하우스에서 모든 객실 가져 오기 (위치에 관계없이)

XML

<House>
    <numRooms>4</numRooms>
    <Floor number="1">
        <Room name="living"/>
        <Room name="kitchen"/>
    </Floor>
    <Floor number="2">
        <Room name="master bedroom"/>
        <Room name="kids' bedroom"/>    
    </Floor>
</House>

XPATH

/House/descendant::Room

산출

<Room name="living" />
<Room name="kitchen" />
<Room name="master bedroom" />
<Room name="kids' bedroom" />


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow