在C#ASP.net中解析HTML

本文关键字:HTML C#ASP net | 更新日期: 2023-09-27 18:25:13

这是我的HTML示例。。。

 <html>
    <table class="test" border="0" >
        <tr bgColor="#e8f4ff">
            <td width="50%" align="right">
                <b>Invoice ID:</b>
            </td>
            <td width="50%">
                <b>
                    1622579
                </b>
            </td>
        </tr>
        <tr bgColor="#e8f4ff">
            <td align="right">
                <b>Code:</b>
            </td>
            <td>
                <b>
                    20475
                </b>
            </td>
        </tr>
    </html>

没有ID,因此无法使用SelectNodes()如何使用HTMLAgilitypack或regex获得代码:20475?

在C#ASP.net中解析HTML

使用最新的HtmlAgilityPack,只使用文档结构-这对HTML中的更改不是很有弹性-您应该强烈考虑添加适当的ID(如果这是您的HTML):

HtmlDocument doc = new HtmlDocument();
doc.Load(@"test.html");
var tds = doc.DocumentNode.Descendants("td").ToArray();
string codeValue = "";
for (int i = 1; i < tds.Length; i++)
{
    if (tds[i - 1].Element("b").InnerText == "Code:")
        codeValue = tds[i].Element("b").InnerText;
}