2009-11-24 83 views
39

解析是我在開發過程中遇到的很多問題,但作爲初級應用,我認爲在需要的時候,我會在某個時刻獲得解決方案。在我目前的項目中,我被告知要爲某個函數找到並使用HTML解析器,我在網上找到了一對,但是HTML解析器實際上做了什麼?解析一個對象意味着什麼?什麼是解析?

+1

我認爲[本維基百科文章](http://en.wikipedia。org/wiki/Parsing)是一個很好的起點。 – KB22 2009-11-24 09:04:45

回答

56

Parsing通常適用於文本 - 讀取文本並將其轉換爲更有用的內存中格式的行爲,「理解」它在某種程度上意味着什麼。例如,XML解析器將採用字符序列(或字節)並將它們轉換爲元素,屬性等。

在某些情況下(尤其是編譯器),lexical analysis和句法分析之間存在分隔,所以真正的「理解「分析器的一部分工作在一系列令牌(標識符,運算符等)上,而不是在原始字符上。

+2

+1教科書解答。你應該寫一本書! :p – Mike 2009-11-24 09:08:06

+5

他已經寫了一本書。 C#深入 – rahul 2009-11-24 09:10:29

+0

@Mike - 他已經做過 – RobV 2009-11-24 09:11:18

8

您可以從這裏開始:http://en.wikipedia.org/wiki/Parsing。簡短摘錄:

解析或句法分析是分析的 符號的字符串的過程中,無論是在自然語言或計算機語言, 符合正式的語法規則。術語解析來自拉丁語pars(orationis)的 ,意思是語言的一部分。

+0

儘管這個鏈接可能回答這個問題,但最好在這裏包含答案的基本部分,並提供參考鏈接。如果鏈接頁面更改,則僅鏈接答案可能會失效。 – DeanOC 2015-06-05 02:24:53

+0

同意並完成! – Konamiman 2015-06-05 05:49:06

1

這是識別HTML內的標記[標籤,屬性]的過程。

8

解析正在獲取一組數據並從中提取有意義的信息。通過HTML解析,您正在閱讀一些html並返回一組結構化的標籤和文本

1

在計算機科學和語言學中,解析或更正式的語法分析是分析文本的過程, (例如單詞),以確定其關於給定(或多或少)形式語法的語法結構。

:0)

Wikipedia

1

不要試圖自己寫一些不重要的解析器。有這方面的好工具ANTLRbison是我能想到的兩個。

如果您使用這些工具,當您遇到問題時您可以尋求幫助。

乾杯, 馬丁。

4

解析器是一個編譯器/解釋器組件,它將數據分解爲更小的元素,以便於翻譯成另一種語言。解析器以令牌或程序指令序列的形式接受輸入,並且通常以解析樹或抽象語法樹的形式構建數據結構。