package main
import (
"fmt"
"strings"
"testing"
"github.com/ECUST-XX/xml"
"github.com/antchfx/xmlquery"
)
var s = `
`
func Test_main(t *testing.T) {
tt := &SuperMaps{}
xml.Unmarshal([]byte(s), tt)
// tt.Maps = append(tt.Maps, Maps{
// ID: "1",
// Name: "传送舱",
// // Galaxy: "1",
// X: "358",
// Y: "46",
// })
// tt.Maps = append(tt.Maps, Maps{
// ID: "4",
// Name: "船长室",
// // Galaxy: "1",
// X: "358",
// Y: "46",
// })
tf, _ := xml.MarshalIndentShortForm(tt, " ", " ")
fmt.Println(string(tf))
}
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))
}
}