2011-02-07 5 views
1

NodeList에서 특정 노드를 검색하여 구문 분석 된 XML 파일에서 요소를 가져 오려고합니다. 다음은 여러 부모를 반복 할 때 사용하는 코드입니다.NodeList 및 NodeMaps에 대한 Noob 질문

Node node; 
NodeList nodeList = document.getElementsByTagName("SomeTag"); 
for (int i = 0; i < nodeList.getLength(); i++) 
{ 
    NamedNodeMap map = nodeList.item(i).getAttributes(); 
    node = map.getNamedItem("AnotherTag") 
} 

그러나 내 노드는 항상 null을 반환합니다. enter image description here

나는 그것이 내가 값에 도착하기 전에 내가의 getLength을 할 경우 때문에, 그 자체로 "이 $ 0"을 참조하여 뭔가를 가지고 있다고 생각 : 디버깅을 수행 할 때, 모든 값이 나타납니다 NodeMap, 0을 반환합니다.이 문제를 해결하는 방법에 대한 의견이 있으십니까? 모두들 고마워요!

답변

0

당신은 호출하여, 요소의 속성을하지 하위 노드를에 액세스하는 nodeList.item(i).getAttributes();

+0

나는 이와 비슷하게 내가 뭘하는지 않습니다 그 예를 발견하고 그들은 더 나은 운이있을 것 같다 : http://www.w3schools.com/Dom/tryit.asp?filename=try_dom_attributes 어떤 생각 등을 그게 왜 효과가 있니? 여기에 페이지가 있습니다 : http://www.w3schools.com/Dom/dom_nodes_nodelist.asp –

+0

내 생각 엔 접근하려고 시도하고 있습니다 : ... .... 옳은? 이 경우 nodeList.item (i)을 사용하고 이름을 확인해야합니다 (요소 유형 인 경우). ... ...

+0

속성에 액세스하고 있습니다. 도움을 주셔서 감사합니다. Google지도 쿼리의 응답에서 이름, 주소 및 GPS 위치를 구문 분석했습니다. 여기에 관심있는 사람이 있다면 : [Parse] (http://dl.dropbox.com/u/2190/parse.txt) –

0

당신은 아마 JAXB를 사용하는 방법에 대한 생각 했습니까?

Java 개체를 만들고 JAXB에서 XML 파일을로드하고 그런 식으로 트리를 탐색 할 수 있습니다. XSD가있는 경우 자동으로 Java 객체를 만들 수도 있습니다.

+0

이것은 사소한 XML에서 DOM의 사소한 기본 사용법을 보여주는 간단한 예입니다. TS에 가서 다른 XML 라이브러리로 전환하는 것이 필요합니다. 간단한 대답 대신 '잘못하고 있습니다' ? – fwielstra

관련 문제