Skip to content

xml解析小bug,在一些不换行的xml中会出小问题 #6

Description

@czk630597526

Image这样的xml老的GetRootElementName函数解析不了

func GetRootElementName(data string) string {
type Root struct {
XMLName xml.Name // 这个字段会存储根元素的名称
Content interface{} xml:",innerxml" // 如果需要完整内容
}
var root Root
decoder := xml.NewDecoder(strings.NewReader(data))
decoder.CharsetReader = func(charset string, input io.Reader) (io.Reader, error) {
switch charset {
case "GB2312", "GBK":
// GB2312 和 GBK 都可以用 GBK 解码器处理
return simplifiedchinese.GBK.NewDecoder().Reader(input), nil
default:
return nil, fmt.Errorf("unsupported charset: %s", charset)
}
}
err := decoder.Decode(&root)
if err != nil {
return ""
}
return root.XMLName.Local
} 直接这样来解析xml会好一点吧

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions