package xmlres import ( "fmt" "strings" "testing" "github.com/ECUST-XX/xml" "github.com/antchfx/xmlquery" ) var s = ` ` func Test_main(t *testing.T) { initfile() fmt.Println(SkillMap[10073]) } func main1() { s := ` ` doc, err := xmlquery.Parse(strings.NewReader(s)) if err != nil { panic(err) } //channel := xmlquery.FindOne(doc, "//superMaps") // if n := channel.SelectElement("maps"); n != nil { // fmt.Printf("title: %s\n", n.InnerText()) // } if l := xmlquery.Find(doc, "//maps[@id='9']"); l != nil { t := l[0].Attr fmt.Printf("%v", t[1]) } // for i, n := range xmlquery.Find(doc, "//maps/@id") { // fmt.Printf("#%d %s\n", i, n.InnerText()) // } } func TestMMMs(t *testing.T) { decoder := xml.NewDecoder(strings.NewReader(s)) var rootComments []string rootFound := false for { token, err := decoder.Token() if err != nil { break } switch t := token.(type) { case xml.StartElement: // 遇到根元素开始标签后停止收集注释 rootFound = true fmt.Printf("找到根元素: %s\n", t.Name.Local) case xml.Comment: if !rootFound { // 保存根元素前的注释 rootComments = append(rootComments, string(t)) } } } // 输出捕获的根注释 fmt.Println("\n根注释内容:") for _, comment := range rootComments { fmt.Println(strings.TrimSpace(comment)) } }