투케이2K

76. (Go Lang) [Mac Os] Go 문법 : XML (포맷) - struct 구조체 사용해 XML 형식 디코딩 수행 본문

Go Lang (Go 언어)

76. (Go Lang) [Mac Os] Go 문법 : XML (포맷) - struct 구조체 사용해 XML 형식 디코딩 수행

투케이2K 2024. 2. 24. 10:35

[개발 환경 설정]

개발 언어 : Go

 

[소스 코드]

package main

import (
	"encoding/xml"
	"fmt"
)

func main() {

	// ---------------------------------------------------
	// [기본 설명]
	// ---------------------------------------------------
	// "encoding/xml" 패키지를 사용해 XML 형식 데이터 포맷 인코딩 및 디코딩을 수행할 수 있습니다
	// ---------------------------------------------------
	// Go 에서 XML 을 사용하기 위해서는 표준패키지 encoding/xml 을 사용할 수 있습니다
	// ---------------------------------------------------

	// [인코딩 구조체 생성]
	en_user := En_User{"Twok", 30}

	// [XML 인코딩 수행 : Marshal]
	xmlBytes, en_err := xml.Marshal(en_user)
	if en_err != nil {
		panic(en_err)
	}

	// [XML 바이트를 문자열로 변경] : [인코딩 완료]
	xmlString := string(xmlBytes)

	// ------------------------------------------

	// [문자열을 바이트로 변경 실시]
	deByte := []byte(xmlString)

	// [구조체 지정 및 XML 디코딩 수행]
	var de_user De_User
	de_err := xml.Unmarshal(deByte, &de_user)
	if de_err != nil {
		panic(de_err)
	}

	// [로그 출력]
	fmt.Println("")
	fmt.Println("----------------------------------------------")
	fmt.Println("[로그 출력 수행]")
	fmt.Println("----------------------------------------------")
	fmt.Println("Name : ", de_user.Name)
	fmt.Println("Age : ", de_user.Age)
	fmt.Println("----------------------------------------------")
	fmt.Println("")

}

// ---------------------------------------------------

// [XML 인코딩 사용될 구조체 생성]
type En_User struct {
	Name string
	Age  int
}

// ---------------------------------------------------

// [XML 디코딩 사용될 구조체 생성]
type De_User struct {
	Name string
	Age  int
}

// ---------------------------------------------------
 

[결과 출력]

 

 

반응형
Comments