19

vb.netでHTMLを解析する簡単な方法があるかどうか知りたいです。HTMLはXMLの厳密なサブセットではないことは知っていますが、そのように扱うことができれば素晴らしいと思います。VB.netでXMLのような方法でHTMLを解析できるものはありますか?

4

5 に答える 5

13

'prog refも追加します:Microsoft.mshtml

'次にページ上:

Imports mshtml

Function parseMyHtml(ByVal htmlToParse$) As String
    Dim htmlDocument As IHTMLDocument2 = New HTMLDocumentClass()
    htmlDocument.write(htmlToParse)
    htmlDocument.close()

    Dim allElements As IHTMLElementCollection = htmlDocument.body.all

    Dim allInputs As IHTMLElementCollection = allElements.tags("a")
    Dim element As IHTMLElement
    For Each element In allInputs
        element.title = element.innerText
    Next

    Return htmlDocument.body.innerHTML
End Function

ここにあるように:

于 2010-04-09T03:43:26.723 に答える
9

私はHtmlAgilitypackが好きです-それは非常に開発者にやさしく、無料で、ソースコードが利用可能です。

于 2009-02-05T17:02:07.003 に答える
5

敏捷性パックを使用しないでください。mshtml ライブラリを使用して dom にアクセスするだけです。これは ie が使用するものであり、HTML 要素を通過するのに最適です。

あなたが私に尋ねると、敏捷性パックは厄介で不必要にハッキーです.mshtmlは行く方法です. msdnで調べてください。

于 2010-10-23T22:05:38.147 に答える
4

HTMLがXHTML標準に準拠している場合は、System.XML名前空間クラスを使用して多くの解析と処理を行うことができます。

一方、解析しているのがWeb開発者が「タグスープ」と呼んでいるものである場合は、HTMLAgilityPackなどのサードパーティのパーサーが必要になります

各ブラウザがタグスープをわずかに異なる方法で解析するときに、ブラウザがHTMLをどのように解釈するかを理解しようとしている場合、これは問題の部分的な解決策にすぎない可能性があります。

于 2009-02-05T17:06:46.027 に答える
1

整形式ですか?HTMLが実際に整形式である場合は、XMLとして解析できます。それがタグスープであり、閉じられていない要素などがある場合は、サードパーティのソリューションを探し回る必要があると思います。

于 2009-02-05T17:02:36.660 に答える