본문 바로가기
유니티 공부/C# 문법

C# - Xml 및 System.Xml 클래스들

by 코딩하는 돼징 2023. 8. 19.
반응형

System.Xml Namespace

Xml관련 작업을 수행하기 위한 클래스와 기능을 제공하는 네임스페이스

using System.Xml;

 

1. XmlReaderSettings

Xml Reader의 동작을 설정하고 제어하는데 사용된다.

public sealed class XmlReaderSettings

01 IgnoreWhitespace

Xml 파일 내의 공백 문자를 무시할지 여부

public bool IgnoreWhitespace { get; set; }

02 IgnoreComments

Xml 파일 내의 주석을 무시할지 여부

public bool IgnoreComments { get; set; }

2. XmlReader

Xml문서를 순차적으로 읽어오는 기능 제공

public abstract class XmlReader : IDisposable

01 Create

XmlReader.Create메서드는 System.Xml.XmlReader 객체를 생성한다. 이는 Xml파일이나 스트림에서 데이터를 읽는 XmlReader인스턴스를 생성할 수 있다.

public static XmlReader Create(string inputUri, XmlReaderSettings settings);

매개변수

inputUri : 읽어올 Xml 파일의 경로나 Uri

settings : XmlReader 인스턴스의 동작을 설정하기 위한 XmlReaderSettings 객체를 지정


02 MoveToContent

XmlReader의 객체가 현재 위치에서 현재 노드의 유효한 컨텐츠로 이동하도록 한다. 즉 공백 문자나 주석등의 부분은 건너뛰고 실제 의미 있는 데이터를 가진 노드로 이동한다.

public virtual XmlNodeType MoveToContent();

03 Read

다음 노드로 이동하고 읽을 수 있는 경우 true를 반환하고 더 이상 읽을 노드가 없으면 false를 반환한다.

public abstract bool Read ();

04 this[string name]

이를 통해 클래스 내에서 이름을 사용하여 값을 읽어 올 수 있다.

public virtual string this[string name] { get; }

05 Depth

현재 노드의 깊이를 나타낸다. 값이 0인 경우 최상위 요소에 위치하며 하위요소로 갈수록 깊이가 증가한다.

public abstract int Depth { get; }

예시 코드

XmlReaderSettings settings = new XmlReaderSettings()
{
    IgnoreComments = true,  
    IgnoreWhitespace = true
};

using (XmlReader r = XmlReader.Create("PDL.xml", settings))
{
    r.MoveToContent();

    while(r.Read())
    {
        Console.WriteLine(r.Name + " " + r["name"]);
    }
}

using문 알아보러 가기

 

 

Unity - using문(using directive , using statement)

1. using directive 파일 상단에 namespace를 불러오는데 사용된다. using UnityEngine; using System.Collections; using System.Collections.Generic; 2. using statement using문을 사용하면 Resource를 사용한 후에 자동으로 정리 및

code-piggy.tistory.com


결과

 

 

 

 

 

 

 

참고 :  본 내용은 MMORPG  PART4 강의를 수강하여 작성하였습니다.

https://www.inflearn.com/course/%EC%9C%A0%EB%8B%88%ED%8B%B0-mmorpg-%EA%B0%9C%EB%B0%9C-part4

 

 

 

 

 

 

 

반응형

댓글