이벤트 방식의 sax도 있으나 일단 제가 직접해서 제대로 돌아간것은
이것입니다.
일단 person.xml
<?xml version="1.0"?>
<book>
<person>
<first>kiran</first>
<last>pai</last>
<age>22</age>
</person>
</book>
그리고 parsing 하는 클래스 입니다.
package DCD;import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;public class xmlTest {
public static void main(String[] args){
try{
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.parse("c:/person.xml");
NodeList nodelist = document.getElementsByTagName("last");
//태그 (< >)의 이름으로 불러오는 내용
//nodelist의 크기를 구하려면 getLength()라는 메소드가 있음
Node node = nodelist.item(0);//첫번째 element 얻기
Node textNode = nodelist.item(0).getChildNodes().item(0);
//element의 text 얻기
System.out.println(textNode.getNodeValue());
}catch(Exception e){
e.printStackTrace();
}
}
}
이렇게 하면 last라는 태그 안의 내용이 찍히게 되죠.(pai)
솔직히 지금은 nodelist에서 node를 얻어왔는데 왜 또 거기서 getChildNodes를 해서
text를 얻어야 하는지 모르겠습니다. 하지만 곧 알아내서 다시 수정하도록 하겠습니다.
지금 이 코드는 제가 작성해서 돌려본 결과 잘 돌아가는 코드 입니다.
'JAVA' 카테고리의 다른 글
[ JAVA ] 자바로 TEXT 파일 쓰기 (만들기) (0) | 2009.03.03 |
---|---|
[ JAVA ] 로그 파일 만들어주는 로직 (2) | 2009.02.16 |
자바 폴더 삭제 (2) | 2009.02.11 |
자바로 디렉토리 사이즈 보기 (0) | 2009.01.05 |
[ JAVA ] 자바 base64 인코딩, 디코딩(String 일경우) (4) | 2008.12.29 |
댓글