Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- web hacking
- 침투테스트
- SQL Injection
- Los
- SQLINJECTION
- 권한상승
- load of sqlinjection
- 포트스캔
- smb
- 해킹툴
- root권한
- 스캐닝
- sql
- 해킹도구
- Metasploit
- 취약점분석
- 메타스플로잇
- 시스템 해킹
- 해킹
- CTF
- Samba
- 취약점
- Hacking
- 내부침투
- 취약점 스캔
- 스캔
- 모의해킹
- 칼리리눅스
- 암호해독
- Kioptrix
Archives
- Today
- Total
감자 텃밭
[WEB] XPath (XML Path Language) 본문
XPath 란 무엇인가??
XPath란 XML Path Language의 준말로 말 그대로
XML 문서의 특정 요소나 속성에 접근하기 위한 경로를 지정하는 언어이다.
쉽게 말해 XML에 질의를 하거나 XML DB의 내용을 선택 및 수정이 가능하다.
XPath는 3가지 특징을 가지고 있는대 아래와 같다.
1. XPath는 XML 문서를 탐색하기 위해 경로 표현식을 사용한다.
2. XPath는 수학, 문자열 처리 등을 하기 위한 표준 함수 라이버러리를 내장하고 있다.
3. XPath는 W3C 표준 권고안인 XSLT에서 가장 중요한 부분 중 하나이다.
또한 XPath는 여러 종류의 노드가 존재한다.
- 루트 노드
- 요소 노드
- 텍스트 노드
- 속성 노드
- 주석 노드
- 네임스페이스 노드
- 처리명령 노드
이러한 노드들을 이용하여 XPath에서는 문서의 노드나 노드 셋을 선택하기 위해 다양한
표현식을 사용하게 된다.
여기서 노드셋이란 중복을 허용하지 않는 노드들의 순서 없는 집합을 의미한다.
위치 경로를 통해 각 노드의 위치를 지정할 수 있으며, 상대경로와 절대경로로 나눌 수 있다.
노드 이름 | 해당 '노드 이름'과 일치하는 모든 노드를 선택함. |
/ | 루트 노드부터 순서대로 탐색해 나감. |
// | 현재 노드의 위치와 상관없이 지정된 노드에서부터 순서대로 탐색해 나감. |
. | 현재 노드를 선택함. |
.. | 현재 노드의 부모 노드를 선택함. |
@ | 속성 노드를 선택함. |
위치 경로가 / 하나로 시작하게 되면 단 하나의 요소만을 가리키는 절대 경로를 나타낸다.
위와 같이 위치 경로를 지정했을 때 찾고자 하는 노드를 위해 검색 방향을 설정하여야 한다.
이는 현재 노드를 기준으로 어느 방향으로 나갈지를 명시한다.
색 방향 | 설명 |
self | 현재 노드를 선택함. |
attribute | 현재 노드의 속성 노드를 모두 선택함. |
namespace | 현재 노드의 네임스페이스 노드를 모두 선택함. |
child | 현재 노드의 자식 노드를 모두 선택함. |
descendant | 현재 노드의 자손 노드를 모두 선택함. |
descendant-or-self | 현재 노드와 현재 노드의 자손 노드를 모두 선택함. |
following | XML 문서에서 현재 노드의 종료 태그 이후에 등장하는 모든 노드를 선택함. |
following-sibling | 현재 노드 이후에 위치하는 형제 노드를 모두 선택함. |
parent | 현재 노드의 부모 노드를 선택함. |
ancestor | 현재 노드의 조상 노드를 모두 선택함. |
ancestor-or-self | 현재 노드와 현재 노드의 조상 노드를 모두 선택함. |
preceding | XML 문서에서 현재 노드 이전에 등장하는 모든 노드를 선택함. (조상 노드, 속성 노드, 네임스페이스 노드는 제외함) |
preceding-sibling | 현재 노드 이전에 위치하는 형제 노드를 모두 선택함. |
이제 해당 노드를 선택하기 위해 경로 표현식을 사용한다.
Syntax
검색방향::노드테스트[필터표현식]
- 검색방향 : 현재 노드를 기준으로 노드를 검색할 방향 전달
- 노드 테스트 : 검색 방향에 존재하는 해당 노드 검색
- 필터 표현식 : 검색된 노드 셋에서 특정 노드나 특정 값을 포함하는 노드 선택
ex) attribute::version - 현재 노드의 version 속성 노드를 선택함
내용 출처 및 참고 사이트
https://ko.wikipedia.org/wiki/XML
https://aws.amazon.com/ko/what-is/xml/
http://www.tcpschool.com/xml/
※ 내용이 이상하거나 문제가 있을 경우, 또는 설명에 부족한 내용이 있으시면 알려 주시면 감사합니다.
'Web > Web Theory Information' 카테고리의 다른 글
[WEB] Ajax (Asynchronous JavaScript And XML) (0) | 2023.02.24 |
---|---|
[WEB] Same Origin Policy (SOP) (0) | 2023.02.17 |
[WEB] DOM (Document Object Model) (0) | 2023.01.22 |
[WEB] XML (eXtensible Markup Language) (0) | 2023.01.21 |