xml과 html
공통점 
태그를 마크업으로 사용
단 하나의 태그만 가지고 있는 문서
DOM(Document Object Model)을 이용해서 다룬다.
차이점
xml은 마크업(태그)를 확장할 수 있다.
HTML은 ‘DOCTYPE’이 미리 정의되어 있다.
xml 선언부
반드시 첫라인, 첫번째 칸에 위치해야된다.
<?xml로 시작해야된다.
<?xml은 공백이 없어야 된다.
version정보와 encoding정보가 있어야 된다.
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
standalone는 yes혹은 no를 적을 수 있다.
standalone은 xml 문서 작성 시에 dtd문서와 관련이 있는지 여부를 표시한다.
루트 엘리먼트(root element)
xml 문서는 오직 한개의 root 엘리먼트만 가질 수 있다.
태그명은 xml로 시작할 수 없다.
태그명은 숫자로 시작할 수 없다.
태그명은 공백을 포함할 수 없다.
<와 태그명 사이에는 공백이 없어야 한다.
엘리먼트는 하나이상의 attribute를 가질수 있다.
엘리먼트 값을 포함 할수도 있고, 다른 엘리먼트를 포함할 수도 있다.
여는 태그와 닫는 태그는 반드시 같은 이름이어야 한다.
well-formed한 xml문서
xml 작성규칙을 잘 준수해서 작성된 xml문서
XMLParser
xml문서를 읽어서 필요한 데이터를 추출하는 프로그램
Document
xml문서를 tree형태로 해석해서 담고 있는 객체
xml문서를 처리하기 위한 유용한 기능들을 가지고 있다.
Element getElementById(String id)
NodeList getElementsByTagName(String tagname)
Element createElement(String tagname)
Attr createAttribute(String attrname)
Text createTextNode(String textcontent)
Node
xml 의 모든 구성요소를 부르는 말이다
(태그, 주석, 텍스트, 속성, ...)NodeList
Node를 여러개 담고 있는 것
주로,
getElementsByTagName(String tagname)의 실행결과로 얻게된다.
int getLength() ← 저장된 node의 갯수를 반환
Node item(int index) ← 저장된 순번의 Node를 반환Element
태그를 표현하는 객체
속성이나, 자식노드를 가질 수 있다.
Element getElementById(String id)
→ id에 해당하는 엘리먼트 반환
NodeList getElementsByTagName(String tagname)
→ 태그명에 해당하는 엘리먼트 반환
NodeList getChildNodes()
→ 모든 자식 노드 반환
boolean hasChildNodes()
→ 자식 노드가 있는지 여부 반환
Node getFirstChild()
→ 첫번째 자식노드 반환
Node getLastChild()
→ 마지막 자식노드 반환
Node getParentNode()
→ 부모 노드 반환
String getAttribute(String attrname)
→ 지정된 이름의 속성값 반환
String getTextContent()
→ 태그안의 텍스트 반환
String getTagName()
→ 태그명 반환
Attr
$(“div”).find(“p”) → $(“div p”)
div자손중에서 찾기 (ex: $("div").find(":contains('원')"))
$(“div”).filter()
div들 중에서 (마음에 드는 것)찾기 (ex: $("p").filter(":contains('원')"))
URL url = new URL(path);
InputStream is = url.openStream();
→ url과 openStream을 합치면 inputStream으로 읽어올 수 있다.
resp.setContentType("text/xml;charset=utf-8");
→ inputStream을 문자형식에 맞게 정의한다.
IOUtils.copy(is, resp.getOutputStream());
→ inputStream을담은 변수 is 를 outputStream으로 response(응답) 해준다.
https://docs.google.com/document/d/1hJHaH0x6L8NXslUd4kV6sJsCalFdHPd21qxVeVWQY_w/edit 다음문서
'프론트엔드' 카테고리의 다른 글
| 클로드 AI 로또 추천 사이트 (0) | 2026.04.18 |
|---|---|
| CSS 선택자 (0) | 2018.09.04 |
| jquery mobile (0) | 2018.08.31 |
| zen coding (0) | 2018.08.30 |
| javascript 기능 (0) | 2018.08.28 |
