- 전체
- JAVA 일반
- JAVA 수학
- JAVA 그래픽
- JAVA 자료구조
- JAVA 인공지능
- JAVA 인터넷
- Java Framework
- Java GUI (AWT,SWING,SWT,JFACE)
- SWT and RCP (web RAP/RWT)[eclipse], EMF
JAVA 자료구조 자바에서 XPath 사용 하기
2015.04.28 22:03
자바에서 XPath 사용 하기
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 " + "
[출처] http://www.openeg.co.kr/286
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.