在.net中简单解析<u> </u>值的html文件?

时间:2009-10-08 20:50:06

标签: .net html parsing

在.NET中寻找一种简单的方法来解析html文件以获取<u></u>标记内的所有值。

例如:<U>105F</U>

文件中可能有很多其他标签,但我需要的是循环并获取所有值的列表,以便然后处理它们。

寻找一种轻松的小方法来处理这个问题。

5 个答案:

答案 0 :(得分:3)

绝对正则表达式:

Dim myPattern As String = "<U>(.*?)</U>"

    For Each thisMatch As Match In System.Text.RegularExpressions.Regex.Matches(myPage1HTML, myPattern,RegexOptions.IgnoreCase)
            Response.write(thisMatch.ToString)
    Next

答案 1 :(得分:0)

如果HTML文档格式正确,XPath将是我的首选。

请求的代码示例(从未测试过您);

var doc                    = new XPathDocument (@"path\to\file.html");
XPathNavigator navigator   = doc.CreateNavigator ();
XPathNodeIterator iterator = navigator.Select ("//U");
while (iterator.MoveNext ())
    Console.WriteLine ("U: {0}", iterator.Current.Value);

答案 2 :(得分:0)

XmlNodeList list = doc.SelectNodes("//u");

获取U个节点

的列表

答案 3 :(得分:0)

使用带有XMLDocument的Xpath的示例

XmlDocument doc = new XmlDocument();
doc.Load("file.html");

XmlNodeList nodeList = doc.DocumentElement.SelectNodes("//u");
foreach (XmlNode title in nodeList) {
    Console.WriteLine(title.InnerXml);
}

取自here

答案 4 :(得分:-2)

Html Agility Pack

强烈建议不要使用正则表达式来解析HTML。他们是一个很好的工具,但他们不适合这份工作。 HTML太复杂了。只要你碰到其中一个边缘情况(嵌入式标签,嵌套标签等),你就会明白我的意思。

编辑:另见Coding Horror: Parsing: Beyond Regex