【golang】实现一个 html 解析器
今天发现 golang
中提供的 xml
包可以方便的帮助我们解析标记语言,所以,我们可以很方便的就实现一个 html
的解析器。
先来看一下数据结构
type Node interface {
}
type Element struct {
tagName string
attrs []xml.Attr
children []Node
}
之所以声明 Node
是因为 children
不止是 Element
还可能是 string
讲实现之前先看一下用法,先来一个需要解析的 html
文件
index.html
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8"/>
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"/>
<meta http-equiv="X-UA-Compatible" content="ie=edge"/>
<title>Document</title>
</head>
<body>
<h1 name="haodawang">Hello World</