我正在尝试将简单的Xml架构解组为Struct。如果我在任何Xml节点值中找到
,则似乎失败了。
读取Xml文件会导致运行时错误。 读取Xml字符串会导致缺少所有其他
示例:http://play.golang.org/p/waNn_1NpD1
package main
import (
"encoding/xml"
"fmt"
)
const (
s = `<?xml version="1.0" encoding="UTF-8"?>
<feed>
<product>
<description>
TEST VALUE sdfsdfsdfsdfsd TEST VALUE sdfsdfsdfsdfsd TEST VALUE sdfsdfsdfsdfsd TEST VALUE sdfsdfsdfsdfsd 
</description>
<sku>ABCDD!@#</sku>
</product>
</feed>`
)
type (
Feed struct {
XMLName xml.Name `xml:"feed"`
Product Product `xml:"product"`
}
Product struct {
XMLName xml.Name `xml:"product"`
Description string `xml:"description"`
SKU string `xml:"sku"`
}
)
func main() {
fmt.Println("Hello, playground")
b := []byte(s)
var feed Feed
xml.Unmarshal(b, &feed)
fmt.Println(feed.Product.Description)
fmt.Println(feed.Product.SKU)
}
答案 0 :(得分:3)
您的输入数据无效。
如果失败, xml.Unmarshal
会返回error
。用这个替换你的电话:
if err != nil {
fmt.Println(err)
}
...表示:
XML syntax error on line 6: illegal character code U+001F
从输入中删除
会使其正常工作。