Notice
Recent Posts
Recent Comments
Link
«   2025/07   »
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 31
Tags
more
Archives
Today
Total
관리 메뉴

Study

XML/XPath 개념 본문

웹 보안/Injection

XML/XPath 개념

^_^? 2020. 12. 11. 16:55

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)을 사용

 

    예) ::* : 지정 노드의 모든(*) 요소

 

 

 

 


참고한 사이트

www.tcpschool.com/xml/xml_xpath_pathExpression

www.tcpschool.com/xml/xml_intro_basic

'웹 보안 > Injection' 카테고리의 다른 글

SQL Injection 개념 복습  (0) 2020.11.25