gpt4 book ai didi

xml - 如何使用 xml golang std 查找已知属性和 token 的值。库

转载 作者:数据小太阳 更新时间:2023-10-29 03:03:17 29 4
gpt4 key购买 nike

我正在解析这样设置的 http 请求的主体:

<something>
...
<inner_something>
...
<foo bar='VALUE_I_WANT'>
...
</FOO >
...
</inner_something>
...
</something>

查找 VALUE_I_WANT 的惯用方法是什么?我可以使用解码器遍历 token 吗?如何检查 token 是否为 foo 并获取属性 bar? (这些名字是不变的)。这是使用标准库的唯一方法吗?没办法直接查token?

最佳答案

您可以使用encoding/xml 包来解析您的数据。例如,定义表示 XML 数据的类型:

type Something struct {
InnerSomething struct {
Foo struct {
Bar string `xml:"bar,attr"`
} `xml:"foo"`
} `xml:"inner_something"`
}

type Result struct {
Something `xml:"something"`
}

然后解析数据:

func main() {
data := `
<something>
<inner_something>
<foo bar='VALUE_I_WANT'>test
</foo >
</inner_something>
</something>`
v := Result{}
err := xml.Unmarshal([]byte(data), &v)
if err != nil {
fmt.Printf("error: %v", err)
return
}
fmt.Printf("bar: %q", v.Something.InnerSomething.Foo.Bar)
}

参见 https://golang.org/pkg/encoding/xml/ .

Here是 Go Playground 中的工作示例。

关于xml - 如何使用 xml golang std 查找已知属性和 token 的值。库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49866903/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com