2

スコープこのページ を解析しようとしています。ポルトガル語に詳しくない方のために、このページには「学期」ごとにグループ化された特定のコース(大学のコース)のすべての科目が含まれています。

ですから、この「7ºPeríodoIdeal」のようなものを見るたびに、「7学期の科目」のように理解することができます。

問題XPath式を使用して、これらのテーブル行を含むテーブルからすべてのテーブル行を取得しています。

XPath Used : //table[@cellspacing=2]//tr

C# Statement : htmlMap.DocumentNode.SelectNodes("//table[@cellspacing=2]//tr");

このC#ステートメントによって受信されたHtmlNodeCollectionには、このテキストが含まれるノードまで、。が含まれるノードのEAD0648 Gerência de Produtos / Serviços e Mercados直後まで、テーブル行ノードのみが含まれます5º Período Ideal

このXPathは「機能」しますが、tr's(予想どおりに)すべてを取得します。これは私が望むものではありません。

//tr

XPathがこのノードの後に​​すべてのノードを取得しないのはなぜですか?

取得されるノードの量に上限はありますか?私は何かが足りないのですか?

前もって感謝します

4

1 に答える 1

3

私は過去にこれに遭遇しました。テーブルが適切に形成されていない場合、このような問題が発生します。このページのHTMLをざっと見てみると、問題の可能性があるように見えます。2785行目には</tr>、開始<tr>行のない2796行に別のがあり</tr>ます。

チェックするための詳細な検証を行わなかったことは認めますが、それを見ただけでは、オープニングを一致させることができませんでした<tr>。私が言ったように、私は不正な形式のテーブルを持つページでこの正確な問題に直面したので、私はすぐにこれをチェックしました。

于 2012-07-09T17:53:52.710 に答える