> 백엔드 개발 > Golang > Go에서 언마샬링하는 동안 알 수 없는 XML 속성을 처리하는 방법은 무엇입니까?

Go에서 언마샬링하는 동안 알 수 없는 XML 속성을 처리하는 방법은 무엇입니까?

Linda Hamilton
풀어 주다: 2024-11-23 12:20:11
원래의
945명이 탐색했습니다.

How to Handle Unknown XML Attributes During Unmarshalling in Go?

Golang을 사용하여 알 수 없는 양의 XML 속성 언마샬링

Golang에서 XML 언마샬링에는 XML 데이터를 구조체로 구문 분석하는 작업이 포함되어 있어 편리한 데이터 조작이 가능합니다. 그리고 검색. 그러나 특정 시나리오에서는 속성 이름과 값이 인스턴스에 따라 다를 수 있는 예기치 않은 XML 속성을 처리해야 합니다.

encoding/xml 패키지는 xml:",any를 통해 동적 속성이 있는 XML 요소의 역마샬링을 지원합니다. ,attr" 주석입니다. 이 기능을 사용하면 모든 속성을 구조체 내의 xml.Attr 조각으로 수집할 수 있습니다.

이 기능을 설명하려면 다음 코드를 고려하세요.

package main

import (
    "encoding/xml"
    "fmt"
)

func main() {
    var v struct {
        Attributes []xml.Attr `xml:",any,attr"`
    }

    data := `<TAG ATTR1="VALUE1" ATTR2="VALUE2" />`

    err := xml.Unmarshal([]byte(data), &v)
    if err != nil {
        panic(err)
    }
    fmt.Println(v.Attributes)
}
로그인 후 복사

이 코드가 실행되면 다음을 출력합니다.

[{ATTR1 VALUE1} {ATTR2 VALUE2}]
로그인 후 복사

속성 슬라이스의 각 항목은 이름으로 구성된 속성을 나타냅니다(예: "ATTR1") 및 값(예: "VALUE1").

이 개선 사항을 통해 개발자는 알 수 없거나 동적 속성이 포함된 XML 문서로 작업할 수 있으므로 Go를 XML 처리를 위한 더욱 다양한 도구로 만들 수 있습니다.

위 내용은 Go에서 언마샬링하는 동안 알 수 없는 XML 속성을 처리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿