在.NET中尋找一個簡單的方法來解析html文件以獲取<u></u>
標籤中的所有值。在.net中簡單解析HTML文件<U></U>值?
例:<U>105F</U>
可能有很多的這些與其他標籤的文件中,但所有我需要的是通過循環並取回所有值的列表,以便他們CNA然後進行處理。
尋找一個輕微小的方式來處理這個問題。
在.NET中尋找一個簡單的方法來解析html文件以獲取<u></u>
標籤中的所有值。在.net中簡單解析HTML文件<U></U>值?
例:<U>105F</U>
可能有很多的這些與其他標籤的文件中,但所有我需要的是通過循環並取回所有值的列表,以便他們CNA然後進行處理。
尋找一個輕微小的方式來處理這個問題。
絕對正則表達式:
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
這是一個很好的資源: http://www.regular-expressions.info/dotnet.html – ChickenMilkBomb 2009-10-08 20:58:37
-1建議用正則表達式解析HTML。請參閱http://www.codinghorror.com/blog/archives/000253.html – TrueWill 2009-10-09 02:54:51
正則表達式在我的情況下工作得很好,因爲html非常乾淨並且每次都對內容特定。 – schooner 2009-10-09 09:23:46
如果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);
它與所有匹配標籤和非常基本的html格式完美匹配。你有沒有爲此使用XPath的樣本? – schooner 2009-10-08 20:55:47
XmlNodeList list = doc.SelectNodes("//u");
獲取你U
節點
樣品的名單使用XPath用的XMLDocument
XmlDocument doc = new XmlDocument();
doc.Load("file.html");
XmlNodeList nodeList = doc.DocumentElement.SelectNodes("//u");
foreach (XmlNode title in nodeList) {
Console.WriteLine(title.InnerXml);
}
其從取
這裏的問題是它非常脆弱。如果有任何HTML格式不正確,這將無法正常工作。 – ChickenMilkBomb 2009-10-08 21:19:48
是真實的,但他特別寫了xhtml格式,在他的評論下面 – Itsik 2009-10-08 21:24:17
我強烈建議不要使用正則表達式來解析HTML。他們是一個偉大的工具,但他們不適合這份工作。 HTML太複雜了。只要你碰到其中一個邊緣情況(嵌入式標籤,嵌套標籤等),你就會明白我的意思。
-1格式正確,用於過於簡單的問題 – ChickenMilkBomb 2009-10-09 03:11:15
因爲我對這個具體的HTML正則表達式的需求完美地工作。 – schooner 2009-10-09 09:22:38
您使用的是vb.net還是C#? – CoderDennis 2009-10-08 21:02:49