XML은

2011-10-17 3 views
1

내가 슬라이드와 간단한 드로잉 프로그램을 만들고있어 내가 다음 스키마와 XML 파일이 있습니다XML은

모든 슬라이드를 들어, 나는 선 또는 여러 개의 선분 등을 저장 로 :

NodeList nodeLst = doc.getElementsByTagName("Slide"); 
System.out.println(nodeLst.getLength()); 

을 그리고 복용 노드들에 의해 반복 :

http://orhancanceylan.com/stack/file.xml

이 코드로 "슬라이드"를 취하고

Node fstNode = nodeLst.item(i); 

그러나 제 반복에서 첫 번째 노드 (첫 번째 슬라이드)의 선분 또는 선을 어떻게 가져야 하는지를 알 수 없습니다.

이 XML을 올바르게 구문 분석해야합니까?

감사합니다.

답변

3

아마 당신은 당신의 XML 노드를 찾는의 더러운 일을 수행하기 위해 XPath를 사용하여 고려할 수 : 첫 번째 슬라이드에서 불과 세그먼트를 얻으려면

http://download.oracle.com/javase/6/docs/api/javax/xml/xpath/package-summary.html

을의 XPath는 수 이 같은 //Slide[id='0']/segment

예를 들어, 어쩌면 뭔가 :

XPathFactory factory = XPathFactory.newInstance(); 
XPath xpath = factory.newXPath(); 
XPathExpression expr = xpath.compile("//Slide[id='0']/segment"); 

그런 다음, 지정된 XPath 식으로 문서를 평가하고, resulte 캐스트 :

Object result = expr.evaluate(doc, XPathConstants.NODESET); 
NodeList nodes = (NodeList) result; 

당신의 XML 당신에게 단지 첫 번째 슬라이드의 <segment> 노드를 제공 할 것입니다. 아마도 XPath를 사용하여 더 많은 XML 노드를 얻는 방법에 대한 해답을 추정 할 수 있습니다. http://www.ibm.com/developerworks/library/x-javaxpathapi/index.html

+0

대단히 감사합니다. – CanCeylan

1

쉽게 파싱하고 싶으면 완전한 개체를 제공하는 Apache Commons Config 라이브러리로 이동하십시오.

당신은 예를 들어 아래 링크를 참조하고, 자세한 내용을 알고 문서를 탐색 할 수 있습니다 : 당신이 DOM은 자바 구문 분석과 함께 이동해야하는 경우

http://commons.apache.org/configuration/userguide/howto_beans.html#An_Example

당신은 아래의 문서를 참조 할 수 있습니다.

http://www.java-samples.com/showtutorial.php?tutorialid=152