2012-10-08 4 views
0

부모와 자식이 각각 하나씩있는 XML 구성 파일이 있습니다. 이것은 항상 이와 같을 것이고 결코 변하지 않을 것입니다. 그것은 다음과 같은 :TreeMap에 XML로드

내가 키/값으로 속성에 액세스 할 수 있도록 트리 맵으로 XML을 구문 분석 자바 DOM ( org.w3c.dom.Document)를 사용할
<parent> 
    <child1>test</child1> 
    <child2>123</child2> 
</parent> 

. 나는 XML을 통해 스캔하고 키 (부모)와 값 (자식)을 한 줄씩 추가하는 for 루프를 만들어야한다고 생각하고있다.

+0

이미 시도 했습니까? 그 결과는 무엇입니까? –

+0

왜 DOM 처리를 배우는 것으로 시작하고 결과를 나중에 'TreeMap'에 저장하는 것에 대해 걱정하지 않습니까? –

+0

'TreeMap'은 당신이 생각하는대로하지 않는다고 생각합니다. 'Tree'부분은 키를 찾는 데 사용되는 알고리즘을 설명합니다. –

답변

3

당신은 JAXP APIs를 사용하여 XML 문서를 탐색 할 수 있습니다, 당신은 사전

InputStream is = new ByteArrayInputStream(xml.getBytes("UTF-8")); 
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); 
DocumentBuilder docBuilder = dbf.newDocumentBuilder(); 
Document doc = docBuilder.parse(is); 
NodeList nodeList = doc.getChildNodes(); 

의 구조 또는 노드 이름을 알 필요가 없습니다 당신은 문서를 반복하고 노드를 얻을

for (int i = 0; i < nodeList.getLength(); i++) { 
      Node node = nodeList.item(i); 
      NamedNodeMap attributes = node.getAttributes(); 

//... 
속성 수

}

+0

xml이 (가) 귀하의 XML 문자열입니다. docBuilder의 코드가 업데이트되었습니다. – Anshu

관련 문제