Study
XML/XPath 개념 본문
● XML(EXtensible Markup Language)
: HTML과 비슷한 문자기반의 마크업언어
사람과 기계가 동시에 읽기 편한 구조로 되어있다.
HTML처럼 데이터를 보여주는 목적이 아닌, 데이터를 저장하고 전달할 목적으로만 만들어졌다.
사용자가 직접 정의가능하다.
-XML 구조
: HTML문서와 마찬가지로 트리형태의 계층 구조를 가진다.
하나뿐인 root에서 시작해서 각각의 자식요소에 차례대로 연결된다.
예제)
<?xml version="1.0" encoding="UTF-8"?>
<shop city="서울" type="마트">
<food>
<name>귤</name>
<sort>과일</sort>
<cost>3000</cost>
</food>
<food>
<name>상추</name>
<sort>야채</sort>
<cost>2000</cost>
</food>
</shop>
루트요소는 자식요소로 2개의 <food>요소를 가진다.
첫번째 <food>요소는 <name>요소, <sort>요소, <cost>요소를 자식요소로 가진다.
●Xpath(XML Path Language)
: XML문서의 특정요소나 속성에 접근하기 위한 경로를 지정하는 언어
-XPath 표현식(expression)
1) 위치 경로(location path): XML 문서의 각 노드의 위치를 지정하기 위한 XPath 표현식
/ | 루트 노드부터 순서대로 탐색해 나감. |
// | 현재 노드의 위치와 상관없이 지정된 노드에서부터 순서대로 탐색해 나감. |
. | 현재 노드를 선택함. |
.. | 현재 노드의 부모 노드를 선택함. |
2) 노드를 찾기 위한 검색 방향 설정
검색 방향(axis step): 현재 노드를 기준으로 어느 방향으로 검색해 나갈지를 명시
child | 현재 노드의 자식 노드를 모두 선택함. |
parent | 현재 노드의 부모 노드를 선택함. |
3) 경로 표현식(path expression)
: XPath에서는 노드를 선택하기 위해 경로 표현식(path expression)을 사용
예) ::* : 지정 노드의 모든(*) 요소
참고한 사이트
'웹 보안 > Injection' 카테고리의 다른 글
SQL Injection 개념 복습 (0) | 2020.11.25 |
---|