1

正規表現を使用してテーブルを一致させようとしていますが、いくつか問題があります。なぜ正しく一致しないのか正確にはわかりません。HTMLは次のとおりです。

    <table class="integrationteamstats">
    <tbody>
    <tr>
        <td class="right">
            <span class="mediumtextBlack">Queue:</span>
        </td>
        <td class="left">
            <span class="mediumtextBlack">0</span>
        </td>
        <td class="right">
            <span class="mediumtextBlack">Aban:</span>
        </td>
        <td class="left">
            <span class="mediumtextBlack">0%</span>
        </td>
        <td class="right">
            <span class="mediumtextBlack">Staffed:</span>
        </td>
        <td class="left">
            <span class="mediumtextBlack">0</span>
        </td>
    </tr>
    <tr>
        <td class="right">
            <span class="mediumtextBlack">Wait:</span>
        </td>
        <td class="left">
            <span class="mediumtextBlack">0:00</span>
        </td>
        <td class="right">
            <span class="mediumtextBlack">Total:</span>
        </td>
        <td class="left">
            <span class="mediumtextBlack">0</span>
        </td>
        <td class="right">
            <span class="mediumtextBlack">On ACD:</span>
        </td>
        <td class="left">
            <span class="mediumtextBlack">0</span>
        </td>
    </tr>
    </tbody>
    </table>

2つの情報を取得する必要があります。キューの下のtd内のデータと、待機の下のtd内のデータです(つまり、キューの数と待機時間)。明らかに、数字は頻繁に更新されます。

これは、初期テーブルをプルするための正規表現ですが、機能していません。

Match statstable = Regex.Match(this.html, "<table class=\"integrationteamstats\">(.*?)</table>");

また、tdからデータを取得するためにどの正規表現を使用すべきかわかりません。

誰かが尋ねる前に、IDまたはその性質のものを持つようにHTMLを更新する方法はありません。それはほとんどそのままです。一貫している唯一のものは、tdの場所です。

4

1 に答える 1

5

正規表現の代わりに、HTML Agility Packを使用してHTMLを解析し、その構造を照会することをお勧めします。

Html Agility Pack(HAP)とは正確には何ですか?

これは、読み取り/書き込みDOMを構築し、プレーンXPATHまたはXSLTをサポートするアジャイルHTMLパーサーです(実際には、XPATHまたはXSLTを理解して使用する必要はありません。心配しないでください...)。これは、「Web外」のHTMLファイルを解析できるようにする.NETコードライブラリです。パーサーは、「現実世界」の不正な形式のHTMLに対して非常に寛容です。オブジェクトモデルは、System.Xmlを提案するものと非常に似ていますが、HTMLドキュメント(またはストリーム)用です。

一般に、正規表現はHTMLの解析には適していません

于 2012-12-18T16:04:42.513 に答える