반응형

프로그래밍 기술/XML.NET 26

[XML.NET] 25. OPEN API 활용

OPEN API 활용 OPEN API는 표준 웹 프로토콜을 이용하여 프로그램 개발에 사용할 수 있는 공개 API 입니다. 일반적으로 현실 세계에 있는 실제 데이터를 수집한 단체에서 개발자들이 개발하는 응용에서 사용할 수 있게 제공하고 있습니다. 이러한 OPEN API에서는 웹 쿼리로 검색 질의를 보내면 XML 문서 형태로 결과를 보내는 것이 일반적입니다. 여기에서는 Naver 검색 API를 이용하여 도서를 검색하는 간단한 콘솔 응용을 제작하는 과정을 소개할게요. 먼저 네이버 개발자센터에서 Application 메뉴를 선택하고 다시 애플리케이션 등록을 선택하세요. [그림 5.2] 네이버 개발자 센터 - 내 애플리케이션 등록 선택 애플리케이션 이름을 정하고 사용 API 중에서 검색을 선택하세요. 환경추가에서..

[XML.NET] 24. XmlDocument 클래스로 노드 검색 및 삭제

XmlDocument 클래스로 노드 검색 및 삭제 특정 노드의 특정 자식 노드를 제거할 때는 XmlNode의 RemoveChild 메서드를 사용합니다.public XmlNode RemoveChild ( XmlNode node); 특정 노드의 모든 자식과 특성을 제거할 때는 XmlNode의 RemoveAll 메서드를 사용합니다.public void RemoveAll ( ); 특성 컬렉션에서 특정 특성을 제거할 때는 특성 컬렉션의 Remove 메서드를 사용합니다.public XmlAttribute Remove ( ); 특성 컬렉션에서 모든 특성을 제거할 때는 특성 컬렉션의 RemoveAll 메서드를 사용합니다.public void RemoveAll ( ); 특성 컬렉션에서 특정 인덱스의 특성을 제거할 때는 ..

[XML.NET] 23. XmlDocument 클래스로 노드 삽입

XmlDocument 클래스로 노드 삽입 XmlDocuemnt 클래스에는 필요한 형식의 노드를 생성할 수 있는 Create 메서드를 제공하고 있습니다. 노드의 선언을 만들 때는 CreateXmlDeclaration 메서드를 사용합니다.public XmlDeclaration CreateXmlDeclaration ( string version, string encoding, string stdandalone); 버전은 항상 "1.0"이어야 하고 인코딩을 Encoding 클래스에서 지원하는 문자열로 설정합니다. 만약 인코딩을 null로 지정하면 기본 인코딩을 사용합니다. 그리고 standalone의 값은 "yes" 혹은 "no"을 사용할 수 있고 null이나 string.Empty을 사용하면 선언에 기록하지 ..

[XML.NET] 22. DOM 모델로 XML 문서 만들기

DOM 모델로 XML 문서 만들기 DOM 모델에서는 프로그램 상의 메모리에 문서를 XmlDocument 클래스로 표현하고 있습니다. 프로그램 상의 메모리에 있는 XmlDocument 개체는 물리적인 저장소에 있는 XML 문서를 로딩하여 메모리에 XML 데이터를 캐시할 수 있고 데이터 내용을 변경 및 작성도 할 수 있습니다. 여기에서는 XmlDocument 개체를 이용하여 데이터 내용을 추가한 후에 물리적인 저장소에 파일로 XML 문서를 만드는 방법을 간략하게 알아볼게요. 먼저 XmlDocument 개체를 생성합니다. 그리고 XML 데이터를 추가합니다. 마지막으로 XmlDocument 개체의 데이터를 파일로 저장합니다. ADO.NET [문서] data.xml 문서 내용

[XML.NET] 21. DOM 모델 개요

DOM 모델 개요 .NET Framework에서는 문서 기반으로 XML을 처리할 수 있는 DOM 모델을 제공하고 있습니다. DOM 모델은 XML 데이터를 프로그램 상의 메모리에 문서 형태로 표현한 것입니다. XmlReader 개체로 XML 데이터를 읽을 때는 메모리에 캐시하지 않고 정방향으로만 이동하면서 읽습니다. 하지만 DOM 모델에서는 메모리에 데이터를 캐시하기 때문에 효과적으로 읽고 조작하고 수정할 수 있습니다. DOM 모델의 형식들 DOM모델에서는 XML 문서를 노드 트리 형태로 메모리에 캐시합니다. 이를 위해 다양한 노드 형식을 제공하고 있는데 이들의 형식은 W3C 표준에 맞게 제공하고 있습니다. 다음은 DOM 모델로 XML 문서를 메모리에 캐시할 때 사용하는 대표적인 노드 형식들입니다. XML..

[XML.NET] 20. XmlSchema 클래스로 스키마 작성 및 판독

XmlSchema 클래스로 스키마 작성 및 판독 XML 스키마는 표준 XML 문서 구조의 정의입니다. 이를 이용하면 유효성 검사를 할 수 있고 판독하는 등의 강력한 기능을 사용할 수 있습니다. .NET Framework 에서는 스키마를 만들거나 유효성을 검사할 수 있는 스키마 개체 모델(SOM) API를 제공하고 있습니다. XML 스키마 파일을 작성할 때는 XmlSchema 클래스를 비롯하여 다양한 클래스를 사용합니다. 프로그램 메모리에 XML 스키마를 만들 때는 XmlSchema 개체를 생성합니다. 그리고 XML 스키마 개체에 스키마 요소를 표현하기 위해 XmlSchemaElement 개체를 만들어 원하는 내용으로 설정하고 XmlSchema 개체의 멤버 Items 컬렉션 속성에 추가합니다. XmlSch..

[XML.NET] 19. XmlReader 클래스 ReadInnerXml, ReadOuterXml

XmlReader 클래스 ReadInnerXml, ReadOuterXml XmlReader 클래스에서는 요소 읽기와 특성 읽기 외에도 XML 데이터 소스에 있는 다양한 내용을 읽기 위한 메서드와 속성을 제공하고 있습니다. 여기에서는 이러한 부가적인 기능과 속성을 개괄적으로 소개할게요. 현재 노드의 내용을 문자열로 반환하는 ReadString 메서드를 제공하고 있습니다. ReadString 메서드를 이용하면 새로운 태그가 나타나기 전의 내용을 문자열 형태로 반환합니다.public string ReadString ( ); if (reader.IsStartElement("book")){ Console.WriteLine(reader.ReadString());} 태그 내부에 있는 모든 내용을 문자열로 읽을 때는 ..

[XML.NET] 18.XmlReader 개체로 데이터 분석(Attribute 읽기)

XmlReader 개체로 데이터 분석(Attribute 읽기) XmlReader 클래스는 요소의 특성을 읽기 위해 6가지 메서드와 3가지 속성과 인덱서을 제공합니다. 먼저 이들의 역할과 원형을 살펴봅시다. 특성 값을 얻어올 때 GetAttribute 메서드를 이용합니다.public string GetAttribute (int i); //i는 인덱스public string GetAttribute (string name); public string GetAttribute (string name, string ns_uri); XmlReader 개체의 현재 위치를 지정한 특성으로 이동할 때 MoveToAttribute 메서드를 이용합니다.public void MoveToAttribute (int i); //i는..

[XML.NET] 17. XmlReader 개체로 데이터 분석(요소 읽기)

XmlReader 개체로 데이터 분석(요소 읽기) XmlReader 클래스에서는 요소 읽기 작업에 관한 6가지 메서드와 1가지 속성을 제공하고 있습니다. 먼저 이들의 역할과 원형을 간략히 살펴봅시다. 현재 노드가 시작 요소인지 확인할 때는 IsStartElement 메서드를 사용합니다.public bool IsStartElement ();public bool IsStartElement (string name);public bool IsStartElement (string local_name, string ns); 현재 노드가 시작 요소일 때 요소를 읽기 위해 ReadStartElement 메서드를 제공합니다.public void ReadStartElement ();public void ReadStartE..

[XML.NET] 16. XmlReader 개체로 데이터 분석(노드 형식 알아내기)

XmlReader 개체로 데이터 분석(노드 형식 알아내기) XmlReader 개체는 정방향으로 XML 데이터 소스를 분석하기 위함입니다. 구조화되어 있는 XML 데이터 소스를 정방향으로 읽기 작업을 하여 원하는 프로그램 데이터로 가공하기 위해서는 현재 위치의 노드가 어떠한 형식인지 알 수 있어야 합니다. 그리고 현재 노드 형식에 따라 요소 읽기와 특성 읽기, 값 읽기 등을 할 수 있어야 할 것입니다. 현재 위치의 노드 형식 알아내기 XmlReader 개체는 정방향으로만 읽기 작업할 수 있습니다. 따라서 XmlReader 개체로 Read 메서드를 호출하면 다음 노드로 위치가 변합니다. XML 데이터는 구조적인 데이터이므로 현재 분석한 노드가 무엇인지에 따라 처리를 다르게 해야 할 때가 많습니다. XmlRe..

반응형