튜토리얼 출처: https://www.udemy.com/course/xpath-tutorial-from-basic-to-advance-level/
사용법 요약 -> //*[local-name() = 'svg'] : local-name() 함수로 엘리먼트의 이름을 매칭.
XPath를 통해 svg 요소를 찾을 때 //svg 같은 문법을 사용할 수 없다고 하는데, 이는 표준 수준에서 지원하지 않는 기능이라고 한다. 다행히도 XPath에는 요소의 이름을 가져오는 함수가 2개 존재한다.
- name( [node-set] ): 노드 집합 내 첫 번째 노드의 QName을 반환한다.
- local-name( [node-set] ): 노드 집합 내 첫 번째 노드의 local name을 반환한다.
QName은 Qualified Name의 약자로, <prefix:local-name>의 형식으로 나타난다. 여러 XML 문서를 통합할 때 동일 이름의 요소가 중복해서 출현하는 문제를 대비하여 "식별"의 목적으로 prefix을 사용한다고 한다. 이때 html은 prefix 표기를 사용하지 않아 두 가지 중 뭘 사용하더라도 상관없으나, 좀 더 정확한 의미에서 local-name 함수를 사용하자.
네이버 홈페이지에서 N이라고 되어 있는 svg 요소를 검색해보자.
ex) //*[local-name() = 'svg']
내가 본 강의에서는 svg의 자식 엘리먼트(path) 등에 대해서는 local-name( ) 대신 name( )을 사용하라고 하는데, 정확한 이유는 설명해주지 않아서 잘 모르겠다. 검색해봐도 딱히 관련된 내용은 나오지 않아서, 그냥 기록만 해둔다.
'WEB&서버' 카테고리의 다른 글
[WEB] REST & REST API (0) | 2024.03.14 |
---|---|
[HTTP Status] 429 Too Many Requests (0) | 2023.09.30 |
[WEB] XPath axes (0) | 2023.07.30 |
[WEB] XPath (0) | 2023.07.30 |
[부가정보] https 로컬에서 사용하기 (0) | 2023.07.28 |