【问题标题】:Parsing HTML to get the key and value解析 HTML 以获取键和值
【发布时间】:2014-03-18 06:11:12
【问题描述】:

我使用HTMLAgility 来解析 HTML 文档。

我从 codeplexreferenced 下载了 dll 到我的项目中。

现在,我只需要解析这个 HTML(如下):

<HTML>
<BODY>
//......................
<tbody ID='image'>
<tr><td>Video Codec</td><td colspan=2>JPEG (8192 KBytes)</td></tr>
</BODY>

现在,我需要从上面的 HTML 中检索 Video Codec 及其值 JPEG

我知道我可以使用HTMLAgility,但是该怎么做呢?

            var document = new HtmlDocument();
            string htmlString = "<tbody ID='image'>";
            document.LoadHtml(htmlString);
            // how to get the Video Codec and its value `JPEG` ?

非常感谢任何指针。

编辑:

我能够从@itedi 的回答继续前进,但仍然坚持下去。

var cells = document.DocumentNode
                // use the right XPath rather than looping manually
                               .SelectNodes(@"//table")
                               .ToList();

            var tbodies = cells.First().SelectNodes(@"//tbody").ToList();

给了我所有的 tbody's 但如何从中打印值?

【问题讨论】:

  • 可能重复:stackoverflow.com/questions/4573012/… 如果不是,这应该对您有所帮助。
  • @itedi:谢谢 itedi。请看我的edit。我能够前进到指定的点,然后开始行动。任何指针都非常有帮助。再次感谢您。

标签: c# html .net parsing html-agility-pack


【解决方案1】:

更轻松的方法是使用正则表达式:

string s = @"<tbody ID='image'>
                    <tr><td>Video Codec</td><td colspan=2>JPEG (8192 KBytes)</td></tr>
                    </BODY>";
var results = Regex.Match(s, "<td>Video Codec</td><td.*?>(.+?)</td>").Groups[1];

返回: JPEG (8192 KB)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多