C# 如何解析HTML节点';s属性

C# 如何解析HTML节点';s属性,c#,html,regex,parsing,C#,Html,Regex,Parsing,我使用C#,需要解析HTML以将属性读入键值对。 e、 g给出以下HTML代码段 <DIV myAttribute style="BORDER-BOTTOM: medium none; BACKGROUND-COLOR: transparent; BORDER-TOP: medium none" id=my_ID anotherAttribNamedDIV class="someclass"> 请注意,属性可以是 1.key=“value”对,例如class=“someclas

我使用C#,需要解析HTML以将属性读入键值对。 e、 g给出以下HTML代码段

<DIV myAttribute style="BORDER-BOTTOM: medium none; BACKGROUND-COLOR: transparent; BORDER-TOP: medium none" id=my_ID anotherAttribNamedDIV class="someclass">

请注意,属性可以是
1.key=“value”对,例如
class=“someclass”

2.键=值对,例如
id=my_id
(值无引号)
3.普通属性,例如没有“值”的
myAttribute

我需要将它们存储到具有键值对的字典中,如下所示
key=myAttribute value=”“

key=style-value=“BORDER-BOTTOM:medium-none;BACKGROUND-COLOR:transparent;BORDER-TOP:medium-none”

key=id value=“my_id”

key=anotherAttribNamedDIV value=”“

key=class value=“someclass”

我正在寻找正则表达式来执行此操作。

您可以使用

字符串myDiv=@”;
HtmlDocument doc=新的HtmlDocument();
doc.LoadHtml(myDiv);
HtmlNode=doc.DocumentNode.SelectSingleNode(“div”);
Literal1.Text=“”;
foreach(node.Attributes中的HtmlAttribute属性)
{
Literal1.Text+=attr.Name+“:“+attr.Value+”
”; }
您可以使用

字符串myDiv=@”;
HtmlDocument doc=新的HtmlDocument();
doc.LoadHtml(myDiv);
HtmlNode=doc.DocumentNode.SelectSingleNode(“div”);
Literal1.Text=“”;
foreach(node.Attributes中的HtmlAttribute属性)
{
Literal1.Text+=attr.Name+“:“+attr.Value+”
”; }
无法使用正则表达式解析[X]HTML。不要在html标记中使用大写字母。不能用正则表达式解析[X]html。不要在html标记中使用大写字母。您可以添加一些解释(以及代码的格式)吗?您可以添加一些解释(以及代码的格式)吗?
string myDiv = @"<DIV myAttribute style=""BORDER-BOTTOM: medium none; BACKGROUND-COLOR: transparent; BORDER-TOP: medium none"" id=my_ID anotherAttribNamedDIV class=""someclass""></DIV>";
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(myDiv);
HtmlNode node = doc.DocumentNode.SelectSingleNode("div");

Literal1.Text = ""; 

foreach (HtmlAttribute attr in node.Attributes)
{
    Literal1.Text += attr.Name + ": " + attr.Value + "<br />";
}
HtmlDocument docHtml = new HtmlWeb().Load(url);