일단 xml은..
<code-define>
<red>
<code>1100</code>
<code>1100</code>
<code>1100</code>
</red>
<green>
<code>1100</code>
<code>1100</code>
<code>1100</code>
</green>
</code-define>
코드값을 자바의 배열로 넣고자 합니다.
// w3c 의 DOM을 사용합니다.
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
// 일단 값을 넣을 배열을 선언하고
// 일단 값을 넣을 배열을 선언하고
List<String> redCodesFromXML = new ArrayList<String>();
List<String> greenCodesFromXML = new ArrayList<String>();
// DOM 문서를 준비합니다.
// DOM 문서를 준비합니다.
DocumentBuilderFactory docBF = DocumentBuilderFactory.newInstance();
// xml parsing 을 준비합니다.
DocumentBuilder docB = docBF.newDocumentBuilder();
// 이제 xml 받을 준비
String fileLocation = "C:/test.xml";Document xmlDoc = null;
// parsing
// 최 상위 태그를 엘레멘트로 불러옵니다. 태그이름은 code-define 이 됩니다.
// 이제 code를 노드 리스트로 가져옵니다.
// xml parsing 을 준비합니다.
DocumentBuilder docB = docBF.newDocumentBuilder();
// 이제 xml 받을 준비
String fileLocation = "C:/test.xml";Document xmlDoc = null;
// parsing
xmlDoc = docB.parse(fileLocation);
// 최 상위 태그를 엘레멘트로 불러옵니다. 태그이름은 code-define 이 됩니다.
Element root = xmlDoc.getDocumentElement();
// red를 엘레멘트 형식으로 가져옵니다. red 태그가 하나밖에 없다고 뒤에 item(0) 이거 무시하면 에러 납니다.
// red를 엘레멘트 형식으로 가져옵니다. red 태그가 하나밖에 없다고 뒤에 item(0) 이거 무시하면 에러 납니다.
Element red = (Element) root.getElementsByTagName("red").item(0);
// 이제 code를 노드 리스트로 가져옵니다.
NodeList codeValueForRed = red.getElementsByTagName("code");
// for 문으로 리스트 배열에 넣습니다.
// for 문으로 리스트 배열에 넣습니다.
for(int i=0; i < redCodesFromXML; i++){
redCodesFromXML.add(codeValueForRed.item(i).getTextContent());
}
// 이걸 String-array로 바꾸고 싶다면
// 이걸 String-array로 바꾸고 싶다면
String [] redStringArray = redCodesFromXML.toArray(new String[redCodesFromXML.size()]);
이상입니다.