解析 HTML 以获取键和值

Posted

技术标签:

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

我使用htmlAgility 来解析 HTML 文档。

我从 codeplex 和 referenced 下载了 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 但如何从中打印值?

【问题讨论】:

可能重复:***.com/questions/4573012/… 如果不是,这应该对您有所帮助。 @itedi:谢谢 itedi。请看我的edit。我能够前进到指定的点,然后开始行动。任何指针都非常有帮助。再次感谢您。 【参考方案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)

【讨论】:

以上是关于解析 HTML 以获取键和值的主要内容,如果未能解决你的问题,请参考以下文章

如何将这样的 JSON 解析为 NSDictionary 并获取键和值

获取以索引为导向的嵌套字典中的键和值列表

JSON路径抓取键和值

从 unordered_map 获取键和值列表

如何使用Volley使用Parameter键和值解析数据

如果将来添加任何键,json如何解析动态键和值