본문 바로가기
  • 오늘도 한걸음. 수고많았어요.^^
  • 조금씩 꾸준히 오래 가자.ㅎ

XML21

[Soap] xml 웹서비스, Soap 방식 총정리 SOAP(Simple Object Access Protocol)은 일반적으로 널리 알려진 HTTP, HTTPS, SMTP 등을 통해 XML 기반의 메시지를 컴퓨터 네트워크 상에서 교환하는 프로토콜이다. 지금은 Rest 방식 전송을 많이 선호하는 편이지만, Rest가 등장하기 전에는 SOAP이 사용되었다. SOAP 만의 장점이 존재하기도 하며, 기존의 SOAP 을 사용하는 곳은 Rest 로 전환하는데 드는 비용 문제도 있다보니 아직 사용되는 곳이 존재한다. 최근에 서비스개발을 진행할때도 rest로 개발하는데, 전송 용량이나 구현 방식이 더욱 간편하고 효율적이다보니 SOAP 방식을 굳이 구현해서 사용할 일이 많지 않다. 나는 회사에서 사용하다보니 어쩔 수없이 사용방법이나 개념을 정리해본다. 1. Soap 의.. 2023. 6. 9.
[Soap] soap body 요소, 바디 요소 SOAP Body 요소 SOAP 바디 요소는 메시지의 최종 포인트를위한 실제 SOAP 메시지를 포함해야 합니다. SOAP Body 요소의 직계 자식 요소는 네임 스페이스 자격이 될 수 있습니다. 아래 예시는 사과의 가격을 요청합니다. 접두사 m를 참고 : GetPrice 및 항목 요소는 응용 프로그램 별 요소입니다. 이 요소들은 SOAP 표준의 일부가 아닙니다. 1 2 3 4 5 6 7 8 9 10 11 12 Apples Colored by Color Scripter cs 그리고 SOAP 응답은 다음과 같습니다. 1 2 3 4 5 6 7 8 9 10 11 12 1.90 Colored by Color Scripter cs 참조 : https://www.w3big.com/ko/soap/soap-body.ht.. 2023. 4. 13.
XML 특수문자 변환 정리 XML에서 특수문자가 들어가는것을 주의 해야 한다. 예를 들면 & ; 등이다. 특수문자를 그대로 사용하려면 CDATA[ 내용 ]]> 을 사용해서 넣어야 한다. 자주 쓰이는것만 정리해보면 다음과 같다 표현문자 숫자표현 (10진수) 문자표현 설명 " " " 쌍따옴표, 더블쿼테이션 ' ' - 작은 따옴표, 따옴표 # # - 샵 & & & 앰퍼샌드 공백 띄어쓰기, Non-breaking space ; ; - 세미콜론 > > 부등호 ? ? - 물음표 이 뿐만 아니라 모든 특수문자를 변환할 때 표현 방법을 정리해 두려 한다. 표현문자 숫자표현 (10진수) 문자표현 설명 - �- - 사용하지 않음 tap - 수평탭 line feed - 줄 삽입 - - - 사용하지 않음.. 2023. 3. 29.
XML 노드의 관리, 노드의 추가(appendChild, insertBefore) 노드의 추가 다음 메소드를 사용하면 특정 위치에 새로운 노드를 추가할 수 있습니다. 1. appendChild() 2. insertBefore() 3. insertData() appendChild() 메소드 appendChild() 메소드는 새로운 노드를 해당 노드의 자식 노드 리스트(child node list)의 맨 마지막에 추가합니다. 다음 예제는 새로운 요소 노드를 생성하고, 생성한 요소 노드를 첫 번째 요소 노드의 마지막 자식 요소 노드로 추가하는 예제입니다. 1 2 3 4 5 예제 xmlObj = xmlHttp.responseXML; // 요청한 데이터를 XML DOM 객체로 반환함. firstLang = xmlObj.getElementsByTagName("language")[0]; // 첫 .. 2023. 3. 8.
XML 노드의 조작 nodeValue 프로퍼티를 사용하면 특정 노드의 값을 확인할 수 있습니다. 또한, getAttribute() 메소드는 속성 노드의 속성값을 반환해 줍니다. getAttributeNode() 메소드는 특정 노드에 포함된 속성 노드 그 자체를 반환해 줍니다. 다음 예제는 첫 번째 요소 노드의 첫 번째 자식 노드의 값을 확인하는 예제입니다. 예제 1 2 3 xmlObj = xmlHttp.responseXML; // 요청한 데이터를 XML DOM 객체로 반환함. // 첫 번째 요소의 첫 번째 자식 노드를 반환함. targetNode = xmlObj.getElementsByTagName("priority")[0].firstChild; cs 노드의 값 변경 nodeValue 프로퍼티를 사용하면 특정 노드의 값을 .. 2023. 3. 8.
XML 노드의 정보 노드에 대한 정보에는 다음과 같은 프로퍼티를 사용하여 접근할 수 있습니다. 1. nodeType 2. nodeName 3. nodeValue 이 프로퍼티들은 특별히 다른 인터페이스를 사용하지 않고도 해당 노드 정보에 직접 접근할 수 있는 방법을 제공해 줍니다. 다음 그림은 우리 수업에서 계속 사용하고 있는 XML 파일에서 각 노드 타입의 프로퍼티 값을 보여주는 예제 그림입니다. nodeType 프로퍼티 nodeType 프로퍼티는 해당 노드의 타입을 저장하는 프로퍼티로, 수정할 수 없는 읽기 전용 프로퍼티입니다. 대표적인 XML 노드별 nodeType 프로퍼티 값은 다음과 같습니다. 노드 타입nodeType 프로퍼티 값 요소 노드(element node) 1 속성 노드(attribute node) 2 텍스.. 2023. 3. 8.
XML 노드 리스트 노드 리스트는 getElementsByTagName() 메소드나 childNodes 속성의 속성값으로 반환되는 객체입니다. 이 객체는 XML 문서와 같은 순서대로 문서 내의 모든 노드를 리스트 형태로 저장하고 있습니다. 노드 리스트의 각 노드는 배열처럼 0부터 시작하는 인덱스를 이용하여 접근할 수 있습니다. 다음 그림은 programming_languages.xml 파일을 노드 리스트로 나타낸 그림입니다. 다음 예제는 XML 문서 노드의 자식 노드를 노드 리스트 객체로 반환하는 예제입니다. nodeList = xmlObj.documentElement.childNodes; 노드 리스트의 길이 노드 리스트 객체는 노드 리스트에 노드를 추가하거나 삭제하면 자신의 상태 정보를 스스로 갱신합니다. 따라서 이 객체.. 2023. 3. 8.
XML 노드로의 접근 XML DOM을 이용하면 노드 트리에 포함된 모든 노드에 접근할 수 있습니다. 이때 노드에 접근하는 방법에는 다음과 같은 방법들이 있습니다. 1. getElementsByTagName() 메소드를 이용하는 방법 2. 노드 트리를 연속적으로 탐색하여 접근하는 방법 3. 노드 간의 관계를 이용하여 접근하는 방법 getElementsByTagName() 메소드를 이용하는 방법 getElementsByTagName() 메소드는 특정 태그 이름을 가지는 모든 요소를 노드 리스트의 형태로 반환합니다. 따라서 이 메소드가 반환하는 노드 리스트를 이용하면 원하는 노드에 접근할 수 있습니다. getElementsByTagName() 메소드를 사용하는 문법은 다음과 같습니다. 문법 노드이름.getElementsByTagN.. 2023. 3. 8.
XML 파서(parser) 현재 대부분의 주요 웹 브라우저는 XML 문서에 접근하고 조작하기 위한 XML 파서를 별도로 내장하고 있습니다. XML DOM은 XML 문서에 접근하고 조작할 수 있는 다양한 메소드를 포함하고 있습니다. 하지만 이러한 메소드를 이용하려면 우선 XML 문서를 XML DOM 객체로 변환해야만 합니다. XML 파서(parser)는 XML 문서의 평문(plain text) 데이터를 읽어 들여, 그것을 XML DOM 객체로 반환해 줍니다. (XML 파서의 역할) 문자열 파싱(parsing) 다음 예제는 XML 문서의 문자열을 추출하여 XML DOM 객체로 파싱하고, 해당 객체에서 정보를 추출하는 예제입니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23.. 2023. 3. 7.
XMLHttpRequest 객체 현재 대부분의 주요 웹 브라우저는 서버에 데이터를 요청하기 위한 XMLHttpRequest 객체를 내장하고 있습니다. XMLHttpRequest 객체는 서버로부터 XML 데이터를 전송받아 처리하는 데 사용됩니다. 이 객체를 사용하면 웹 페이지가 전부 로딩된 후에도 서버에 데이터를 요청하거나 서버로부터 데이터를 전송받을 수 있습니다. 즉, 웹 페이지 전체를 다시 로딩하지 않고 일부분만을 갱신할 수 있게 됩니다. XMLHttpRequest 객체의 생성 자바스크립트를 이용하여 XMLHttpRequest 객체를 생성하는 방법은 다음과 같습니다. 예제 var xmlHttp = new XMLHttpRequest(); --- readyState 프로퍼티 readyState 프로퍼티는 XMLHttpRequest 객체의.. 2023. 3. 7.
xml DOM의 개념 문서 객체 모델(DOM)이란? DOM(Document Object Model)은 XML이나 HTML 문서에 접근하기 위한 API로 W3C 표준 권고안입니다. DOM은 문서 내의 모든 요소를 정의하고, 해당 요소에 접근하는 방법까지 정의합니다. 1 2 3 4 5 6 7 8 9 10 HTML web W3C 5.1 high cs DOM은 다음 그림과 같이 계층 구조로 표현됩니다. W3C DOM 표준은 다음과 같이 세 가지 모델로 구분됩니다. 1. Core DOM : 모든 문서 타입을 위한 DOM 모델 2. HTML DOM : HTML 문서를 위한 DOM 모델 3. XML DOM : XML 문서를 위한 DOM 모델 HTML DOM HTML DOM은 HTML 문서에 접근하여 조작할 수 있는 표준화된 방법을 정의합.. 2023. 3. 7.
XSLT 변환 XSLT의 변환 과정은 다음과 같이 크게 두 가지 과정으로 이루어집니다. 1. 변환(Transformation) : XML 문서를 다른 구조의 XML 문서로 변환하는 과정입니다. 2. 서식 설정(Formatting) : XML 문서를 특정 데이터 구조의 비 XML 문서로 변환하는 과정입니다. 변환될 데이터를 가지고 있는 XML 문서와 변환에 대한 규칙을 가지고 있는 XSLT 문서만 있으면 변환을 진행할 수 있습니다. XML 문서를 잘 구성된(well-formed) HTML 문서로 바꾸는 과정을 순서대로 살펴보겠습니다. 예제 xml 코드(data.xml) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 HTML web W3C 5.1 high ... Python applica.. 2023. 3. 7.