XPath란
XPath 는 XML문서에서 특정 부분의 위치를 찾는데 사용하는 개념이다. 쉽게 표현하면 XML 문서를 트리 구조로 표현하고, 최상위 노드부터 최하위 노드까지의 모든 노드 엘리먼트과 속성 그리고 데이터를 추출할 수 있는 경로를 나타낸다. XML 문서 검색과 XSL/XSLT에서 가장 많이 사용하며, XLink나 XPointer에서 필수적으로 사용하는 개념이다.
XPath 노드
root node: XML문서를 표현하는 모든 계층적 노드의 최상위 노드이다.
element node: XML문서안의 각각의 엘리먼트
attribute node: XML문서안의 각 속성값
text node: 엘리먼트노드의 텍스트 컨텐츠
namespace node: 한 엘리먼트가 속해 있는 네임스페이스
<sudents>
<student id="1234">
<name>
홍길동
</name>
<phone>
010-1111-2222
</phone>
</student>
</students>
name의 위치에 대한 XPath 표현식
/student/name
id에 대한 XPath표현식
/students/student/@id <-- 절대경로
student/@id <-- 상대경로
[링크] XPath 문법
자바에서 XPath 사용하기
public class XPathTest extends TestCase { public void testXPathExpression() throws Exception { final String xml = "" + "" + " "; DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); factory.setNamespaceAware(true); DocumentBuilder builder = factory.newDocumentBuilder(); Document xmlDoc = builder.parse(new InputSource(new StringReader(xml))); XPathFactory xPathFactory = XPathFactory.newInstance(); XPath xPath = xPathFactory.newXPath(); XPathExpression expr = xPath.compile("/books/book[title='Refactoring']/author/text()"); Object result = expr.evaluate(xmlDoc, XPathConstants.NODE); Node node = (Node)result; assertEquals("Martin Fowler", node.getTextContent()); } }" + " " + " " + "Goetz " + "" + " " + " " + "Martin Fowler " + "
XQuery, XPath, XSLT Tutorial
XQuery : http://www.w3schools.com/xquery/xquery_add.asp
XPath: http://www.w3schools.com/xpath/
XSLT: http://www.w3schools.com/xsl/default.asp
'프로그래밍 > WEB FRONT END' 카테고리의 다른 글
[자바스크립트] 3장. 기본데이터 조작하기 내장형 객체 (0) | 2013.12.26 |
---|---|
[자바스크립트] 2장. 기본적인 작성법 익히기 (0) | 2013.12.26 |
[자바스크립트] 1장. 자바스크립트란 (0) | 2013.12.26 |
[자바/자바스크립트] urlencoding (0) | 2013.11.19 |
자바에서 XQueryY 사용법 (0) | 2013.07.07 |