wiki.php 用Markdown写wiki是一种什么样的体验?

利用HtmlAgilityPack来解析HTML.md

最后更新于 2019-10-06 15:00:26

HtmlAgilityPack 是一款开源的HTML解析组件,其优点是可以自动修复未闭包的HTML标签,解析速度快,采用的是XPath方式定位元素。
Nuget - HtmlAgilityPack
XPath 教程

下面的代码示例,从HTML中解析出所有的链接

Dim html As String = "HTML文档"

Dim doc As New HtmlAgilityPack.HtmlDocument
doc.OptionFixNestedTags = True '自动修复错误标签
doc.LoadHtml(html)

Dim sb As New System.Text.StringBuilder
For Each node In doc.DocumentNode.SelectNodes("//a[@href]")
    ' 在这里处理每一个元素
    sb.AppendLine(node.InnerText) '内部文本
    sb.AppendLine(node.Attributes("href").Value) '获取属性值
    node.Attributes("href").Value = "#" '也可以修改内容
Next

doc.Save("保存文档.html")