在.NET中寻找一种简单的方法来解析html文件以获取<u></u>
标记内的所有值。
例如:<U>105F</U>
文件中可能有很多其他标签,但我需要的是循环并获取所有值的列表,以便然后处理它们。
寻找一种轻松的小方法来处理这个问题。
答案 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。他们是一个很好的工具,但他们不适合这份工作。 HTML太复杂了。只要你碰到其中一个边缘情况(嵌入式标签,嵌套标签等),你就会明白我的意思。