2012-02-25 73 views
-3

2つのhtml文字列を比較するにはどうすればよいですか?私はアジリティのパックでいくつかの「もの」を試していましたが、それは比較方法、またはそんなものはありません。2つのHTML文字列を比較する方法

記録のために、.NETフレームワークはトリックを行いません。

[EDIT]

2つのHTMLの文字列を比較して、私は、WebページのinnerHTMLを意味します。

[/ EDIT]

例:

たとえば、このページ上でマウスの右ボタンを押し、 '表示ページのソース' をクリックしてください(私はFirefoxを使用して)。その内容をstring変数に入れてください。

これまでとまったく同じですが、別のページを選択して新しいstring変数を作成してください。

完了したら、2 stringsをお互いに比較してください。

+2

「2つのHTML文字列を比較する」とはどういう意味ですか?あなたはどのようにしてそれらを比較したいですか? – gdoron

+2

このような文字列の平等基準とは何ですか?例を挙げてください – sll

+1

文字列は文字列ですが、HTMLが含まれているとどうしてそれは問題になりますか?私はあなたが本当に比較したいものの詳細を与える必要があると思う... –

答えて

0

HTML要素のテキストコンテンツ(間のもの)だけに興味があるとすれば、2つの要素の.InnerTextプロパティを比較するだけで、すべての "##すべての子ノードの「テキスト」ノードに格納されます。

+0

こんにちは、それは実際にはHTMLページ全体についてです。その中のすべて。タグなどを含む – Yustme

1

実際に有効なXMLを比較している場合は、すべての点があります。

HTMLはXMLの派生言語です。両方ともstringが有効なXMLの場合は、常にXMLDocumentの2つを作成し、それらを同等に比較することができます。あなたがする必要がありますもちろんの

あなたのHTML構文に問題がある場合、あなたは、タグ間のすべてのスペースを取り除き、すべての二重の空白を剥ぎ取りのように、comparationのための他のアルゴリズムを必要とし、それらを比較...

<body style="padding:2em;color:white;">という正しい表現は、HTMLのために<body style="color:white;padding:2em">とまったく同じです...

+0

ウェブサイトは私のものではないので、うまく構成されていないとしても、私はそれについて何もできません。しかし、私はあなたの第3段落のあなたのソリューションに非常に興味があります。 string.Trim()はそのトリックですか? – Yustme

+0

XHTMLはXMLに基づいていますが、HTMLはSGMLに基づいています。有効なXMLではなく、XMLパーサで処理できない有効なHTMLを持つことができます。 – Ferruccio

関連する問題