Java XML removeChild()
2023. 1. 9. 22:46ㆍJava
프로젝트 내 src 내 xml 패키지 내 test01.dtd
<?xml version="1.0" encoding="UTF-8"?>
<!-- 엘리먼트 선언 -->
<!ELEMENT 도서리스트 (책)* >
<!ELEMENT 책 (제목, 저자+, 출판사, 가격)>
<!ELEMENT 제목 (#PCDATA)>
<!ELEMENT 저자 (#PCDATA)>
<!ELEMENT 출판사 (#PCDATA)>
<!ELEMENT 가격 (#PCDATA)>
<!-- <!ELEMENT 도서리스트 (책*) > 으로 해도 된다 책이라는 자식 엘레먼트를 생략할 수도있고
또 여러번 사용할수도 있다는 의미다. 저자+ 는 한번이상여러번 이라는 의미다. (#PCDATA) 는
문자데이타라는 의미다. -->
<!-- 속성 선언 -->
<!ATTLIST 책
id ID #IMPLIED
분류 CDATA #REQUIRED>
프로젝트 내 src 내 xml 패키지 내 test01.xml
<?xml version="1.0" encoding="UTF-8"?>
<!-- 도서리스트 만들기 전에 독타입 선언 -->
<!DOCTYPE 도서리스트 SYSTEM "test01.dtd">
<도서리스트>
<책 분류="컴퓨터" id="book1">
<제목>JAVA 프로그래밍</제목>
<저자>김말똥</저자>
<출판사>아이티 출판</출판사>
<가격>20000</가격>
</책>
<책 분류="소설">
<제목>삼국지</제목>
<저자>이문열</저자>
<출판사>역사 출판</출판사>
<가격>15000</가격>
</책>
<책 분류="컴퓨터">
<제목>C언어</제목>
<저자>강길동</저자>
<출판사>터보 출판사</출판사>
<가격>15000</가격>
</책>
</도서리스트>
프로젝트 내 src 내 java_xml 패키지 내 RemoveDOM.java
package java_xml;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Text;
public class RemoveDOM {
public static void main(String[] args) throws Exception {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
factory.setIgnoringElementContentWhitespace(true);
DocumentBuilder builder = factory.newDocumentBuilder();
//XML 문서 파싱
Document doc = builder.parse("src/xml/test01.xml");
// ROOT 엘리먼트 얻기(기본적으로 getDocumentElement() 와
// getLastChild() 는 노드타입을 반환
Element rootElement = (Element)doc.getDocumentElement();
//DOM 객체의 제거코드 : parentElement.removeChild(childElement);
Element book = (Element)rootElement.getFirstChild();
rootElement.removeChild(book);
book = (Element)rootElement.getFirstChild();
Element title = (Element)book.getFirstChild();
Text txtTitle = (Text)title.getFirstChild();
String strTitle = txtTitle.getData();
System.out.println(strTitle);
}
}
본인은 RemoveDOM.java 파일이 Text file encoding 에서 EUC-KR 로 되어 있어
RemoveDOM.java 를 Run As > Java Application 으로 실행하였을 때
콘솔 창에서 한글이 깨져나왔다. 확인해 보니 오른쪽 마우스 클릭해서
Run As > Run Configurations... 창안에
탭 중 Common을 클릭해 보니
Encoding 에 Default - inherited (EUC-KR) 로 설정이
되어있었다..
그리하여 Other 에서 UTF-8로 Apply 후
Run 을 클릭하였고 콘솔 창에서 한글깨짐이
사라졌다.
이것은 콘솔창을 Window > Preferences 에서 UTF-8 으로 설정해 놓았기
때문이 아닐까 싶다..
'Java' 카테고리의 다른 글
Java XML ContentHandler (0) | 2023.01.12 |
---|---|
Java XML TransformerFactory (0) | 2023.01.10 |
Java XML setErrorHandler() (1) | 2023.01.09 |
Java XML EntityResolver (1) | 2023.01.08 |
Java XML SAXParserFactory (0) | 2023.01.08 |