如何使用C#将HTML分解为字符串以获取其元素属性

本文关键字:获取 元素 属性 字符串 何使用 HTML 分解 | 更新日期: 2023-09-27 18:28:33

让我们假设我得到一个HTML表作为字符串,我想使用C#将其分解为元素(td、div-如果有的话,等等),并获得它们的每个属性,如"style"、"class"。。。

我的目标是最终获得一个HTML表,并从中构建一个自己的表对象,保留表的大部分(如果不是全部的话)属性。现在,我能想到的唯一方法,在我看来,就像是一场编码噩梦:将字符串分解为其"tr"answers"td"中的每一个,然后开始挖掘,查找这些元素的每个属性,并尝试将其解析为我可以使用的东西-还有其他方法吗

示例:

string someString = "<div><table cellpadding="0" cellspacing="0"><tr><td style="border-bottom:1px solid transparent;width:1px;font-size:1px;height:1px;line-height:1px;"><div class="someClass">..."

将变成(在我的假设对象中):

MyTable table = new MyTable
{
   CellPadding = "0",
   ...
}
MyTableRow row = new MyTableRow 
{
   Cell[0].Style.BorderBottom = "1px solid transparent",
   Cell[0].Style.Width = "1px",
   ...
}

你得到了这样的想法:)

如何使用C#将HTML分解为字符串以获取其元素属性

有一个名为HtmlAgilityPack的库,用于解析HTML文档并允许您访问C#代码中的DOM。

我还建议您看看SGMLReader,它是XMLReader的替代品,但可以处理格式不正确的HTML。