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 중국어 웹사이트의 기타 관련 기사를 참조하세요!