我希望将html.Node
的内容作为字符串。
示例:
<div id="my-node">
<p>First paragraph</p>
<p>Second paragraph</p>
</div>
给定myNode := html.Node("#my-node")
(伪代码),我想将整个上面的html检索为字符串。缩进并不重要。
我在互联网上找不到任何东西,除了迭代节点的内容 - myNode.NextSibling
,但它过于复杂,我很确定必须有更简单的方法。
更新:
我正在考虑golang.org/x/net/html
包裹。
答案 0 :(得分:1)
我理解你的意思,我在测试中使用了很多。
您需要的内容已经在同一个x/net/html
包中 - 您可以Render
Node
到bytes.Buffer
然后从中获取字符串:
var b bytes.Buffer
err := html.Render(&b, node)
return b.String()
请阅读文档如何尽最大努力完成渲染 - 但它可能适合您。
PS。您可以参考我在一个更实际的项目中使用它的方式: https://github.com/wkhere/htmlx/blob/master/finder.go#L32-L39 https://github.com/wkhere/htmlx/blob/master/finder_test.go#L73