- JAVA

솔봉이
- 공개여부
- 작성일
- 2009.1.15
휴우..힘드네..xml...역시..난..초짜..ㅠㅠ
<%@ page contentType="text/html; charset=utf-8"%>
<%@ page import=" java.io.*" %>
<%@ page import=" java.util.List" %>
<%@ page import=" javax.xml.parsers.* " %>
<%@ page import=" javax.xml.transform.* " %>
<%@ page import=" javax.xml.transform.stream.*" %>
<%@ page import=" javax.xml.transform.dom.* ,org.w3c.dom.* "%>
<%@ page import="org.xml.sax.InputSource"%>
<%
Document doc;
try{
// DOM Document를 생성하기 위하여 팩토리를 생성한다
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
factory.setIgnoringElementContentWhitespace(true);
// 팩토리로부터 Document파서를 얻어내도록 한다.
DocumentBuilder builder = factory.newDocumentBuilder();
// Document DOM파서로 하여금 입력받은 파일을 파싱하도록 요청한다.
doc = builder.parse(new InputSource(new StringReader("<?xml version=\"1.0\" encoding=\"euc-kr\"?><response><imgName>NULL</imgName><Message>aaaaaaaaa</Message></response>")));
// Document XMLDoc=DocumentBuilderFactory.newInstance().newDocumentBuilder().
//parse(new InputSource(new StringReader("<root><main>Title</main></root&g t;")))
//파싱된 후의 루트요소를 얻어내보도록 하며, 그 타입은 Element타입이다.
Element root = doc.getDocumentElement();
//주석을 한번 추가하여 달아본다.
Comment comment = doc.createComment("Training test");
// 만들어진 주석을 루트원소의 자식으로 추가한다.
root.appendChild(comment);
// 루트원소의 각종 정보를 출력해보도록 한다
out.println("Tag name : " + root.getTagName()+"<br>");
out.println("Node type : " + root.getNodeType()+"<br>");
out.println("Node Value :"+root.getNodeValue()+"<br>");
out.println("First Child : " +root.getFirstChild()+"<br>");
out.println("First Child2 : " +root.getFirstChild().getNextSibling()+"<br>");
out.println("Last Child : " +root.getLastChild()+"<br>");
out.println("First Child Name: " +root.getFirstChild().getNodeName());
out.println("::::First Child Value: " +root.getFirstChild().getFirstChild().getNodeValue()+"<br>");
out.println("Second Child Name: " +root.getFirstChild().getNextSibling().getNodeName());
out.println("::::Second Child Value: " +root.getFirstChild().getNextSibling().getFirstChild().getNodeValue()+"<br>");
Node imgNameNode = doc.getElementsByTagName("imgName").item(0);
Node MessageNode = doc.getElementsByTagName("Message").item(0);
String msg=MessageNode.getFirstChild().getNodeValue();
out.println(imgNameNode.getFirstChild().getNodeValue()+"<br>");
out.println(msg+"<br>");
for(int i=0;i<root.getChildNodes().getLength();i++)
out.println(doc.getElementsByTagName("imgName").item(i).getFirstChild().getNodeValue()+"<br>");
// 현재 메모리에 올라와 있는 DOM Document를 화면에 출력해본다.
// 다른 예를 파일 출력도 가능하다.
/* TransformerFactory tFactory = TransformerFactory.newInstance();
Transformer transformer = tFactory.newTransformer();
transformer.transform(new DOMSource(doc), new StreamResult(System.out));
*/
}catch(Exception e) {
System.out.println(e);
}
%>
- 좋아요
- 6
- 댓글
- 0
- 작성일
- 2023.04.26
댓글 0
댓글이 없습니다.
첫 번째 댓글을 남겨보세요.