1

私はxpathとhtmlの初心者です。各クラス「authorbox」の下でテキスト「xxxx」をhtmlで検索し、クラスにそれがある場合は、親クラスtrを自動的に選択することは可能ですか?

<tr>

< td class="authorbox">

 < div class="regsn">

      < a href="/member/profile/xxxx" t="post-usersntxt">xxxx< /a>

....

テーブルはさらに続きます

<tr>

<tr>

<tr>

編集

これは私が現在作成できるxpathです

//td[@class='authorbox']

テキスト「xxxx」を検索する方法や、テキストが見つかった場合に親 tr を選択する方法がよくわかりません。必要に応じて各テーブルを選択することもできますが、もっと自動化されていればいいのにと思います。

ありがとう

4

2 に答える 2

1

それで、あなたはそこにいる途中にいるようです。述語に少しビーフを追加するだけです。

//tr[td/@class="authorbox" and td/div/a="xxxx"]

また、 が必要な場合は、上記のように開始して、参照を述語にtrプッシュできます。td

于 2012-05-05T15:08:22.360 に答える
1

使用:

//tr[td[@class='authorbox']
           //text()[contains(., 'xxxx')]
    ]

これは、属性の文字列値が文字列である子を持ち、文字列値が を含む文字列であるテキストノードの子孫をtr持つ XML ドキュメント内のすべてを選択します。tdclass"authorbox"td"xxxx"

これはより正確にすることができます:

テキスト ノードの子孫の文字列値が正確に string"xxxx"でなければならない場合は、次を使用します

//tr[td[@class='authorbox']
           //text()[. = 'xxxx']
    ]

text-node 子孫の文字列値が string"xxxx"で始まる必要がある場合は、次を使用します

//tr[td[@class='authorbox']
           //text()[starts-with(., 'xxxx')]
    ]

text-node 子孫 shoud の文字列値に、"xxxx"空白のみで囲まれた文字列が含まれている場合は、次を使用します

//tr[td[@class='authorbox']
           //text()[normalize-space(., 'xxxx')]
    ]
于 2012-05-05T15:08:14.800 に答える