我想解析Xml文件的属性。它适用于任何“正常”属性,例如<application name="AppName">
但是,如果属性中包含“:”,我将无法检索它的值,例如 <application name:test="AppName">
这是我用来解析此代码:
package main
import "fmt"
import "encoding/xml"
type Application struct {
Event Event `xml:"application"`
Package string `xml:"package,attr"`
}
type Event struct {
IsValid string `xml:"test:isValid,attr"`
}
var doc = []byte(`<?xml version="1.0" encoding="utf-8" standalone="no"?>
<application package="leNomDuPackage">
<event test:isValid="true">
</application>
</manifest>`)
func main() {
application := Application{}
xml.Unmarshal(doc, &application)
fmt.Println("Application: ", application)
fmt.Println("isValid:", application.Event)
}
Run Code Online (Sandbox Code Playgroud)
您也可以在Golang游乐场找到它:[ https://play.golang.org/p/R6H80xPezhm
我想检索该isValid属性的值。
目前,我收到该错误消息,但无法解决。
结构字段标记
xml:"test\:isValid,attr与reflect.StructTag.Get不兼容:结构标记值的语法错误
我也尝试了以下值
type Event struct {
IsValid string `xml:"test isValid,attr`
}
Run Code Online (Sandbox Code Playgroud)
和
type …Run Code Online (Sandbox Code Playgroud)